SQL получает неповторяющиеся значения [Oracle SQL * Plus] - PullRequest
0 голосов
/ 09 июня 2011

У меня есть таблица (order_t), которая содержит идентификаторы CustomerID и SalespersonID, и я хочу отобразить SalespersonID со всеми связанными с ними CustomerID.

Я пытался использовать SELECT DISTINCT

SELECT DISTINCT salespersonid, customerid
FROM order_t;

Но это повторится.

Вот пример таблицы

salespersonid   customerid
--------------- ---------------
15              1
15              2
15              3
16              4
16              5
17              6

И я хочу получить этот набор данных в результате

salespersonid   customerid
--------------- ---------------
15              1
                2
                3
16              4
                5
17              6
18              4
                5
                9

Это сработало отлично

BREAK ON sid
SELECT DISTINCT salespersonid sid, customerid cid
FROM ORDER_T
ORDER BY salespersonid;

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

В SQL * Plus вы должны сделать следующее:

SQL> BREAK ON sid

SQL> SELECT salespersonid sid, customerid cid
       FROM order_t
      ORDER BY salespersonid;

Должно дать вам вывод, который выглядит примерно так (не проверено):

SID     CID
-----   ------
    1        1
             2
             3
    2        1
             7
    3        1
...

РЕДАКТИРОВАТЬ:

Если вам нужна отдельная строка для каждого менеджера по продажам, см. этот вопрос Stackoverflow о том, как это сделать.Это не тривиально.

0 голосов
/ 09 июня 2011

SELECT DISTINCT возвращает неповторяющуюся комбинацию salespersonid и customerid.

Другими словами, он может возвращать одного и того же продавца, но с другим значением.

например. 1,1
1,2
1,3 ...

но оно не вернет 1,1 | 1,2 | 1,3 снова

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...