如何只选择提供所有必需物品的供应商?

时间:2016-06-12 07:15:13

标签: mysql

有一张表格,显示供应商和商品之间的关系。我想让那些同时拥有第1项和第2项的供应商。

tablepk   supplierpk   itempk
1            1          1
2            1          2
3            2          1

2 个答案:

答案 0 :(得分:1)

摆脱tablepk;它没有任何意义。相反,其余列是您的PRIMARY KEY。

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

答案 1 :(得分:0)

我猜你还有Suppliers表列出了所有供应商(并且它有主键ID)。如果是这样,您可以使用2 EXISTS个语句来验证相关表(您没有指定名称,因此我称之为SupplierItems)同时记录了itempk=1和{{1 }}

itempk=2