一道SQL表关联的笔试题
9月份,高级测试工程师考核,需要考核三关,第一关是笔试题,其中有一道sql表关联查询的笔试题,如下:
各表的关系结构如下:
sql查询结果如下:
!在这里插入图片描述
根据以上要求,完成sql语句:
SELECT
TF.flats_num as “公寓编号”,
(SELECT COUNT(trm.id) from t_room trm where trm.flats_id=TF.id and trm.status
=‘0’) as “未出租数量”,
count(TR.id)as “该公寓所有房间数量”,
(case WHEN TF.is_private =1 THEN ‘是’ else ‘否’ END )as “公寓是否自营”,
CONCAT(TC.name
,’-’,TC.street) as ‘小区地区’
from
t_flats TF
LEFT JOIN t_community TC ON(TF.community_id=TC.id)
LEFT JOIN t_room TR on (TR.flats_id=TF.id)
GROUP BY TF.flats_num