クエリを見つけるのに苦労しているグループメンバーシップを含む小さなテーブルがあります。
uid groupid userid
1 2 5
2 2 6
3 1 2
4 3 8
5 4 7
同じグループ内の2つの指定されたユーザーIDがTRUEを返すことが可能かどうか疑問に思いましたか?
以下は、2つの特定のメンバーを持つすべてのグループを取得します。
select groupid
from table t
where userid in ($userid1, $userid2)
group by groupid
having count(distinct userid) = 2;
必要に応じて、これをブール値に変えることができます。
select (case when count(*) > 0 then true else false end)
from (select groupid
from table t
where userid in ($userid1, $userid2)
group by groupid
having count(distinct userid) = 2
) g;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加