嗨,我对这个问题感到困惑,因为我需要同一列的两个实例的独特组合。
假设我有一个带有列名称的表 Animal。我想要动物名称的所有“独特”组合,而不是重复它本身或另一个已经存在的行。
样本数据:
Name
-------
Mouse
Cat
Dog
我想要的结果是:
Name1 Name2
----- -----
Mouse Cat
Mouse Dog
Cat Dog
我写了以下查询:
SELECT DISTINCT A1.name AS Name1, A2.name as Name2
FROM Animal A1, Animal A2
WHERE A1.name <> A2.name;
这让我得到了以下结果:
Name1 Name2
----- -----
Mouse Cat
Mouse Dog
Cat Mouse
Cat Dog
Dog Mouse
Dog Cat
我希望我说得通。我不想要这两种组合的重复,无论它出现在左侧还是右侧。就“不同”而言,行是不同的。那么有没有什么办法可以消除双打呢?