As(ALL Asではない)のリストに基づいて選択する場合は、次のようにします。
SELECT b_id
FROM ab
WHERE a_id IN (1,2)
GROUP BY b_id
HAVING COUNT(a_id) = 2
(1,2)
を置き換えます リストと2
リストアイテムの数を含むhaving句で。
サブクエリからAsのリストを取得する場合は、そのようにすることができます(ただし、MySQLではできません...):
WITH subquery (
--subquery code here
)
SELECT b_id
FROM ab
WHERE a_id IN subquery
GROUP BY b_id
HAVING COUNT(a_id) = (SELECT COUNT(*) FROM subquery)
MySQLでは、サブクエリコードを2回入力し、WITH句を削除する必要があります。
一時テーブルを使用することもできます。これにより、その一時テーブルから[すべての名前]が選択され、GordonLinoffsが回答します...