J'essaie d'écrire une requête simple en sqlite avec une jointure automatique. Je veux toutes les paires d'ID des produits qui ont le même coût, mais je veux des paires uniques (c.-à-d. ne pas lister la même paire deux fois, même dans un ordre différent). Voici ce que j'ai :
SELECT b1.Id, b2.Id
FROM Basic AS b1
LEFT JOIN Basic AS b2
ON b1.cost = b2.cost
WHERE b1.Id != b2.Id
AND b1.Cost = 5;
J'obtiens donc quelque chose comme
23 | 101
23 | 205
24 | 103
101 | 23 <-- Duplicate!
J'ai essayé différentes combinaisons de DISTINCT et GROUP BY mais j'obtiens toujours des paires dupliquées :
J'ai essayé des choses comme
SELECT DISTINCT bp1.Id, bp2.Id ...
& ... = 5 GROUP BY bp1.Id, bp2.Id ;
Comment puis-je me débarrasser des paires en double ? Vous avez des idées ?
Je vous remercie de votre aide !