大家好日子。
考虑关系SQLite数据库的这一部分:
楼层(号码) - 房间(号码,#floorNumber)
我的目标是查询每层楼的房间数量。这是我的尝试:
select floors.number, count(rooms.floornumber)
from floors, rooms where floors.number=rooms.floornumber
group by floors.number, rooms.floornumber;
示例:
1|5
2|7
3|5
4|3
问题是我还希望查询返回楼层包含0个房间的记录(例如楼层号码5存在于"楼层"表格中但不会在查询中显示结果)。
非常感谢您的协助。谢谢。
答案 0 :(得分:2)
从不在FROM
子句中使用逗号。 始终使用正确的JOIN
语法。
您需要LEFT JOIN
,但由于查询的编写方式,您甚至无法看到所需内容。
select f.number, count(r.floornumber)
from floors f left join
rooms r
on f.number = r.floornumber
group by f.number;