2013-10-13 82 views
1

我試圖在訂單表中的orderNumber列中顯示兩列具有相同orderDate的訂單的結果。 在我有以下數據的表:Oracle SQL:如何在兩列中顯示沒有重複的列的結果

OrderNumber  OrderDate 
------------ ---------- 
1    2013-06-01 
2    2013-06-02 
3    2013-06-03 
4    2013-07-05 
5    2013-07-09 
6    2013-07-09 
7    2013-07-15 
8    2013-07-15 

我需要在兩列與沒有重複相同的orderDate存儲把orderNumber顯示量。 我用這個查詢:

SELECT O1.OrderNumber, O2.OrderNumber, O1.OrderDate FROM Orders O1, Orders O2 
WHERE O1.OrderNumber <> O2.OrderNumber AND O1.OrderDate = O2.OrderDate 

我得到如下結果:什麼我做錯了

OrderNumber  OrderNumber OrderDate 
-----------  ----------- --------- 
3    2    2013-06-02 
2    3    2013-06-02 
6    5    2013-07-09 
5    6    2013-07-09 
8    7    2013-07-15 
7    8    2013-07-15 

this shows that the second line is a duplicate of the first, the fourth the duplicate of the third and the so on. 

I want to only keep half of the results 

OrderNumber  OrderNumber OrderDate 
-----------  ----------- --------- 
3    2    2013-06-02 
6    5    2013-07-09 
8    7    2013-07-15 

OrderNumber  OrderNumber OrderDate 
-----------  ----------- --------- 
2    3    2013-06-02 
5    6    2013-07-09 
7    8    2013-07-15 

任何想法?

謝謝。

米薩埃爾

回答

2

而不是

WHERE O1.OrderNumber <> O2.OrderNumber ...

使用

WHERE O1.OrderNumber > O2.OrderNumber...

+0

感謝您的回答,是解決我的問題! – user2876991

相關問題