[英]Select from many-to-many table
我有一个名为option_to_name
数据的表:
+-----------+---------+
| option_id | name_id |
+-----------+---------+
| 1 | 1 |
| 1 | 2 |
| 2 | 2 |
| 3 | 2 |
+-----------+---------+
我需要选择name_id
这与关系1
个2
的值option_id
。 我试过使用WHERE IN
但它的工作方式类似于has 1 or has 2
。
SELECT name_id FROM option_to_name WHERE option_id IN (1, 2)
有没有什么办法来选择name_id
同时具有1
个2
的值option_id
?
你近了 只需添加一些聚合:
SELECT name_id
FROM option_to_name
WHERE option_id IN (1, 2)
GROUP BY name_id
HAVING COUNT(DISTINCT option_id) = 2;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.