2009-10-12 79 views
1

我試圖找到一種方法來獲得獨特的配對。不同的路線對

假設表格有3個字段:id,city1和city2。

樣本數據:
1,紐約,洛杉磯
2,紐約,費城
3,紐約,休斯頓
4,洛杉磯,紐約
5,洛杉磯,休斯敦
6,休斯敦,紐約
7,休斯敦,洛杉磯

我想輸出只包括不同的對,不管是哪個列的位置,他們是順序的。

樣本輸出:
紐約,洛杉磯
紐約,費城
紐約,休斯頓
洛杉磯,休斯敦

回答

5

嘗試

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

確保到在UNION之後使用ALL關鍵字,以便UNION從結果集中刪除重複項。

+0

我的示例根據您的要求提供了城市對的正確列表,但它始終在第一列中包含「最低」城市。因此,除了NY,Phila在我的例子中都是「倒退」出來的。我認爲這是滿足您的需求。 – 2009-10-12 21:29:21