我有两张桌子。
我想要拥有建筑物的中心的名称:
TYPE equals "flat" and NbPlace => 6
和
TYPE equals "Room" and NbPlace => 6.
我被困住了,我不知道怎么去中心。
韩国社交协会
答案 0 :(得分:1)
可以使用聚合和having
子句来回答此类查询。获得中心:
select pk_center
from buildings
group by pk_center
having sum(iif(TYPE = "flat" and NbPlace >= 6, 1, 0)) > 0 and
sum(iif(TYPE = "Room" and NbPlace >= 6, 1, 0)) > 0;
having
子句中的每个表达式都计算与其中一个条件匹配的行数。 > 0
表示至少有一场比赛。
注意:我不承认=>
。我认为你的意思是>=
。
编辑:
使用join
获取中心名称:
选择c.id,c.name 从中心作为c内连接 建筑物为b 在c.id =,c.pk_center group by c.id,c.name 具有和(iif(TYPE =“flat”和NbPlace> = 6,1,0))> 0和 sum(iif(TYPE =“Room”和NbPlace> = 6,1,0))> 0;