-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 に答える