Lors de l'utilisation d'une jointure SQL, est-il possible de conserver uniquement les lignes ayant une seule ligne pour la table de gauche?Le filtre se duplique dans la jointure SQL
Par exemple:
select * from A, B where A.id = B.a_id;
a1 b1
a2 b1
a2 b2
Dans ce cas, je veux supprimer tout sauf la première ligne, où une seule rangée de A apparié exactement 1 rang de B.
J'utilise MySQL .
Cela ne fonctionne pas correctement si B a plus de 1 ligne correspondante. Vous devez supprimer la clause HAVING et cela devrait être correct (bien que je recommande définitivement d'utiliser toujours des fonctions d'agrégat pour les colonnes non-GROUPED). – sqlvogel
excuses. J'ai l'air d'avoir mal lu ce qui était recherché. On dirait que votre requête est bonne et pas la mienne, mais au cas où ça vous aiderait, je laisserai la mienne pour le moment :) – sqlvogel