私はこのテーブルを持っています
id 所有者グループ モデル 1 1 形の円 2 1 形状の長方形 3 1 シェイプ スクワイア 4 2 フルーツ りんご 5 2 フルーツ オレンジ 6 2 フルーツ バナナ 7 3 形円 8 3 形の長方形 9 3 形の星
各所有者がグループを選択して 3 つの選択肢を入力すると、図形を選択して円と星を入力した所有者を見つけたいと思います。
所有者 ID = 3 を返す必要があります
私はこのテーブルを持っています
id 所有者グループ モデル 1 1 形の円 2 1 形状の長方形 3 1 シェイプ スクワイア 4 2 フルーツ りんご 5 2 フルーツ オレンジ 6 2 フルーツ バナナ 7 3 形円 8 3 形の長方形 9 3 形の星
各所有者がグループを選択して 3 つの選択肢を入力すると、図形を選択して円と星を入力した所有者を見つけたいと思います。
所有者 ID = 3 を返す必要があります
とがすべてに一意であると仮定するとgroup
、model
owner
SELECT a.owner
FROM tableName a
WHERE a.[group] = 'shapes' AND
a.model IN ('circle','star')
GROUP BY a.owner
HAVING COUNT(*) = 2
それ以外の場合は、一意に数をカウントする必要がありますmodel
SELECT a.owner
FROM tableName a
WHERE a.[group] = 'shapes' AND
a.model IN ('circle','star')
GROUP BY a.owner
HAVING COUNT(DISTINCT a.model) = 2