2013-10-13 1 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 

мне нужно отобразить в двух колоннах ORDERNUMBER с тем же ORDERDATE без дублей. Я использовал этот запрос:

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