[英]Comparing two rows in the same table SQL
按疾病名称分组并在 HAVING 子句中设置条件:
select DiseaseName
from tablename
where DrugName in ('hydrocortisone', 'etanercept')
group by DiseaseName
having count(case when DrugName = 'etanercept' then 1 end) = 0
在 Mysql 中,不同之处在于having
子句:
having sum(DrugName = 'etanercept') = 0
在 Potgresql 中:
having sum((DrugName = 'etanercept')::int) = 0
NOT EXISTS 的另一种方式:
select DISTINCT t.DiseaseName
from tablename t
where t.DrugName = 'hydrocortisone'
and not exists (select 1 from tablename where DiseaseName = t.DiseaseName and DrugName = 'etanercept')
您可以使用以下查询:
SELECT "diseasename" FROM TABLE1
GROUP BY "diseasename"
HAVING MIN("DRUGNAME") = MAX("DRUGNAME") AND MAX("DRUGNAME") = 'hydrocortisone';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.