-3

我有一个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
4

2 回答 2

3
SELECT 
  DISTINCT InvoiceID 
FROM 
  Invoice 
WHERE ProductID=123
于 2012-12-29T09:07:01.690 回答
2

如果您想排除所有不同的 InvoiceID,请尝试以下操作,

select InvoiceID from Invoice 
where ProductID=123
group by InvoiceID having count(InvoiceID) > 1
于 2012-12-29T09:03:48.260 回答