これは正確な関係除算の問題です。
SQL Serverでは、パフォーマンスが優れています
メソッド(post_id,tag
に一意の制約があると仮定 )は
SELECT post_id
FROM post_tags
GROUP BY post_id
HAVING MIN(CASE
WHEN Keyword IN ( 'clever', 'interesting' ) THEN 1
ELSE 0
END) = 1
AND SUM(CASE
WHEN Keyword IN ( 'clever', 'interesting' ) THEN 1
ELSE 0
END) = 2
したがって、GROUP_CONCAT
を使用するという考えを排除するつもりはありません。 HAVING
で 代わりに。
HAVING GROUP_CONCAT(DISTINCT Keyword ORDER BY Keyword) = 'clever,interesting'