不同的路线对

时间:2009-10-12 21:10:20

标签: sql

我正试图找到一种获得独特配对的方法。

假设该表有3个字段:id,city1和city2。

样本数据:
1,纽约,洛杉矶
2,纽约,费城
3,纽约,休斯顿
4,洛杉矶,纽约
5,洛杉矶,休斯顿 6,休斯顿,纽约
7,洛杉矶休斯顿

我希望输出只包含不同的对,而不管它们所处的列位置顺序。

样品输出:
纽约,洛杉矶
纽约,费城
纽约,休斯顿
洛杉矶,休斯顿

1 个答案:

答案 0 :(得分:5)

尝试

SELECT city1, city2 FROM YourTable WHERE city1 < city2 
    UNION SELECT city2, city1 FROM YourTable T1 WHERE city1 > city2

确保在UNION之后使用ALL关键字,以便UNION从结果集中删除重复项。