我有一个名为 Rooms 的表,看起来像这样
房间
id name room number
-------------------------
1 Dave Room 100
2 NULL ROOM 101
3 Scott Room 100
我需要检查哪个房间是空的,哪个房间有人与之关联,因此结果将是:
Room name Count
-----------------
Room 100 2 -- Because Dave and Scott is in the room
Room 101 0 -- No name is associated with the room
刚开始学SQL,知识有限,能看到的是
SELECT Count(room_number)
FROM rooms
WHERE name != NULL
...将根据 room_number 出现在列表中的次数返回 2 和 0,并且与之关联的名称不是 0,而且
SELECT DISTINCT(room_number)
FROM rooms
...将返回 Room 100 和 Room 101 一次
我怎样才能结合这两个查询来得到我想要的结果表?
最佳答案
SELECT RoomNumber, COUNT(Name)
FROM rooms
GROUP BY RoomNumber
我建议添加一个Room
表并将RoomNumber
更改为外键关系。规范化该列。
关于mysql - 两个查询到一个有两列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6077772/