我在postgres 11中有下表
id type1 type2 type3 code
NCT00160290 Drug lactulose lactulose A05BA | A06AD
NCT00160290 Drug plantago ovata plantago ovata (null)
NCT00251238 Drug ginkgo biloba extract ginkgo biloba extract (null)
我想提取所有那些type3不是空的但是代码是空的行,但是如果任何id有任何type3的代码,我应该排除它。
我正在尝试以下查询
select distinct *
from table
where type3 is not null
and code is null --but this will include 'NCT00160290' which has a code
group by id
所需输出为:
id type1 type2 type3 code
NCT00251238 Drug ginkgo biloba extract ginkgo biloba extract (null)
1条答案
按热度按时间oprakyz71#
你可以用
not exists
:此查询将利用上的索引
(id, code)
.或者,可以使用窗口函数: