我有一个包含CustomerID和SalespersonID的表(order_t),我希望显示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;
答案 0 :(得分:2)
在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
...
编辑:
如果您希望每个salespersonid都有一行,请参阅this Stackoverflow question了解如何执行此操作。这样做并非易事。
答案 1 :(得分:0)
SELECT DISTINCT将返回salespersonid和customerid的非重复组合。
换句话说,它可以返回相同的salespersonid但具有不同的customerid。
e.g。
1,1
1,2
1,3 ......
但它不会返回1,1 | 1,2 |再次1,3