SELECT
service_id
FROM
language_services
WHERE
language_id = 1
OR language_id = 2
GROUP BY
service_id
HAVING
COUNT(*) = 2
要么…
WHERE
lanaguage_id IN (1,2)
GROUP BY
service_id
HAVING
COUNT(*) = 2
如果你总是看两种语言,你可以用连接来做,但是聚合版本更容易适应不同数量的language_ids. (添加OR,或将项添加到IN列表,并将COUNT(*)= 2更改为COUNT(*)= 3等,等等).
但请注意,这种情况非常糟糕.使用这种表格结构,你无能为力.
编辑使用2种语言的连接的示例
SELECT
lang1.service_id
FROM
language_services AS lang1
INNER JOIN
language_services AS lang2
ON lang1.service_id = lang2.service_id
WHERE
lang1.language_id = 1
AND lang2.language_id = 2