Sql 如何在属性的所有实例上使用where子句
这个问题很模糊,所以我只举一个例子 如果我有一个数据库,其中包含一个国家属性,该国家可以多次出现,我如何检查另一个名为building的属性在该国家的所有实例中是否为null 你将如何为所有国家做到这一点?i、 e.检查同一国家/地区的所有建筑是否为空Sql 如何在属性的所有实例上使用where子句,sql,where,Sql,Where,这个问题很模糊,所以我只举一个例子 如果我有一个数据库,其中包含一个国家属性,该国家可以多次出现,我如何检查另一个名为building的属性在该国家的所有实例中是否为null 你将如何为所有国家做到这一点?i、 e.检查同一国家/地区的所有建筑是否为空 country | building --+-- USA | null USA | null USA | 2 Germany | null Germany | null Nepal | null Spain
country | building
--+--
USA | null
USA | null
USA | 2
Germany | null
Germany | null
Nepal | null
Spain | 3
如果选择国家,查询应返回德国和尼泊尔。完全是任意的例子,但它应该让人明白这一点。在Postgres中检查:从国家/地区中选择国家/地区,从国家/地区中选择国家/地区,从建筑不为空的国家/地区按国家/地区顺序分组
其中countries是表名。这里是另一个,使用group by:
select distinct country
from #table t
where not exists
(select 1 from #table t1 where t1.country = t.country and t1.building is not null)
SELECT country FROM countries group by country having sum(building) is null;
我已经在MySql和SQL Server中对此进行了测试。请使用示例数据和所需结果编辑您的问题。如果有帮助,这称为关系划分