Mysql Oracle从另一列中选择有值和无值的列条目
我有一个表,我想得到s,其中s有p1,但没有p2 表sMysql Oracle从另一列中选择有值和无值的列条目,mysql,oracle,Mysql,Oracle,我有一个表,我想得到s,其中s有p1,但没有p2 表s 标准普尔# s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p3 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' THE
标准普尔# s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p3 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;