如何在属性的所有实例上使用where子句

时间:2015-11-06 23:37:25

标签: sql where

这个问题很模糊,所以我只举一个例子

如果我有一个带有例如国家/地区属性的数据库,该国家/地区可以出现多次,那么如何在该国家/地区的所有实例中检查另一个名为building的属性是否为空?

您将如何为所有国家/地区执行此操作?即检查每个国家的同一国家的所有建筑物是否为空。

country | building
      --+--
USA     | null
USA     | null
USA     | 2
Germany | null
Germany | null
Nepal   | null
Spain   | 3

如果您选择国家/地区,则查询应返回德国和尼泊尔。完全是任意的例子,但它应该得到重点。

3 个答案:

答案 0 :(得分:1)

这是另一个,使用group by:

<<somechunk, results='tex',echo=FALSE, results='hide'>>=
x <- 2
@

Inline evaluation of x prints the number \Sexpr{x}.

我已经在MySql和SQL Server中对此进行了测试。

答案 1 :(得分:0)

签入Postgres:select country from countries where country not in (select country from countries where building is not null) group by country order by country;

countries是表名。

答案 2 :(得分:0)

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)