Pour ce tableau:Distinct multi-colonnes
mysql> select * from work;
+------+---------+-------+
| code | surname | name |
+------+---------+-------+
| 1 | John | Smith |
| 2 | John | Smith |
+------+---------+-------+
Je voudrais obtenir la paire de code où les noms sont égaux, donc je le fais:
select distinct A.code, B.code from work A, work B where A.name = B.name group by A.code, B.code;
Cependant, je reçois le résultat de suivi de retour:
+------+------+
| code | code |
+------+------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 2 |
+------+------+
Comme vous pouvez le voir, ce résultat a 2 doublons, de toute évidence d'un produit cartésien. Je voudrais savoir comment je peux faire ceci tel qu'il sort seulement:
+------+------+
| code | code |
+------+------+
| 1 | 2 |
+------+------+
Une idée? Merci!