我有这个问题:
SELECT a.`name` "n1", b.`name` "n2"
FROM `Table` a, `Table` b
WHERE a.`nb` = b.`nb`
AND a.`name` != b.`name`
它几乎可以按照我的意愿运行,我得到了这个结果:
---------------------------------
| n1 | n2 |
|--------------------------------
| aa | bb |
| bb | aa |
---------------------------------
我认为你得到了这个问题:我不希望我在这个查询中得到相反的重复。有办法吗?
答案 0 :(得分:3)
您可以使用n1
运算符而不是<
运算符随意决定始终将“较小”字符串显示为!=
,以避免此类“交换”对:
SELECT a.`name` "n1", b.`name` "n2"
FROM `Table` a, `Table` b
WHERE a.`nb` = b.`nb` AND a.`name` < b.`name`