我的表格search_settings
的内容如下:
+-----------+-------------+----------+
| entity_id | language_id | query_id |
+-----------+-------------+----------+
| 2 | 71 | 141 |
| 3 | 72 | 141 |
| 4 | 73 | 141 |
| 4 | 74 | 142 |
| 4 | 75 | 142 |
+-----------+-------------+----------+
如何选择其中包含language_id = 71和language_id = 72且language_id = 73的现有条目的唯一query_id
?
例如,如果query_id = 142
和language_id=74
我需要language_id=75
行,但如果language_id=999
和language_id=75
它应该什么都不返回?
有可能吗?
答案 0 :(得分:1)
使用group by
与having
一起检查query_id是否具有与之关联的所有必需的language_id。
select query_id
from tablename
group by query_id
having sum(case when language_id in (74,75) then 1 else -1 end) = 2