我有一个名为 SUPPLIER_CATEGORY 的表,作为 SUPPLIER 和 CATEGORY 表之间的多对多关系。我想要的是从 SUPPLIER_CATEGORY 表中获取与给定的所有 CATEGORY_ID 相匹配的 SUPPLIER_ID。
例如,请考虑下表
SUPPLIER_ID CATEGORY_ID
101 1
101 2
102 1
102 3
103 1
103 2
103 3
如果我想获取 CATEGORY_ID 1 和 2 的 SUPPLIER_ID。查询应返回 SUPPLIER_ID 101 和 103,但不是 102,因为它的 CATEGORY_ID = 1。因为它不包含 CATEGORY_ID 2。希望它有意义。
编辑:
注意:CATEGORY_ID 可以超过 2 个数字。
谢谢。
最佳答案
对于给定的示例数据,下面是查询。
select supplier_id
from <tableName>
where category_id in (1, 2)
group by supplier_id
having count(*) > 1
关于sql - MS SQL - 从多对多表中选择数据,其中列的值与所有给定值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54624543/