2016-06-12 67 views

回答

0

我想你也有Suppliers表,列出了所有供應商(它有主鍵ID)的供應商。如果是這樣,你可以使用2個EXISTS語句,以驗證相關的表(你沒有指定的名稱,所以我把它叫做SupplierItems)同時具有與itempk=1記錄和itempk=2

SELECT s.* 
FROM Suppliers s 
WHERE 
    EXISTS (SELECT 1 FROM SupplierItems si1 WHERE si1.supplierpk = s.id and si1.itempk = 1) 
    AND 
    EXISTS (SELECT 1 FROM SupplierItems si2 WHERE si2.supplierpk = s.id and si2.itempk = 2) 
+2

讓我們希望我們永遠不必尋找供應商,比如說9件! – Strawberry

1

擺脫tablepk的;它沒有任何用處。相反,其餘的列是您的PRIMARY KEY。

SELECT supplierpk 
FROM supplieritems 
WHERE itempk IN (1,2) 
GROUP BY supplierpk 
HAVING COUNT(*) = 2;