我有一个Invoice
表,其中包含以下列:
InvoiceID, ProductID, Qty, Sum, Location, etc
主键是InvoiceID + ProductID
单个Invoice
可以有多个行,因此单个发票将如下所示:
InvoiceID | ProductID | Qty | Sum | Location
----------------------------------------------
1000 | 123 | 2 | 20.00 | Loc1
1000 | 321 | 4 | 12.00 | Loc1
1000 | 145 | 1 | 03.50 | Loc1
1000 | 134 | 1 | 10.00 | Loc1
1001 | 123 | 1 | 20.00 | Loc1
1002 | 321 | 1 | 03.50 | Loc1
1002 | 145 | 1 | 10.00 | Loc1
1002 | 134 | 1 | 20.00 | Loc1
所以我想做的是写一个SQL语句来排除所有不同的InvoiceID
所以结果将是
1000,1001,1002
答案 0 :(得分:3)
SELECT
DISTINCT InvoiceID
FROM
Invoice
WHERE ProductID=123
答案 1 :(得分:2)
如果您想要排除所有不同的InvoiceID,请尝试使用
select InvoiceID from Invoice
where ProductID=123
group by InvoiceID having count(InvoiceID) > 1