>按照所列表格字段和SQL查询结果,写出SQL语句
- 各表关系结构如下:
- SQL查询结果如下:
- 根据以上查询结果,两种写法:
第一种:
SELECT
TF.flats_num AS "公寓编号",
COUNT(CASEWHEN TR.`status` = 0 THENTR.idEND) 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; 第二种:
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;
本文介绍了一种使用SQL查询来获取特定信息的方法,通过两个不同的查询方式展示了如何从多个表中抽取有关公寓的数据,包括公寓编号、未出租数量、总房间数、是否自营及地址等关键信息。

703

被折叠的 条评论
为什么被折叠?



