Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
s# を取得したいテーブルがあります。ここで、s# には p1 がありますが、p2 はありません。
テーブル s s# P#
s1 p1
s1 p2
s1 p3
s1p4
s2 p1
s2p3
s3 p2
s3 p3
私の結果はs2になるはずです。私が試したwhere句と結合はs1、s2を返しますが、これは間違っています。
これを試して:
SELECT s# FROM (SELECT s#, SUM(CASE WHEN p# = 'p1' THEN 1 ELSE 0 END) p1ct , SUM(CASE WHEN p# = 'p2' THEN 1 ELSE 0 END) p2ct FROM s GROUP BY s#) WHERE p1ct > 0 AND p2ct = 0;