【发布时间】:2017-05-28 09:40:44
【问题描述】:
我想运行一个 SQL 查询来确定多个房间的居住者。我也想看看哪些房间是空的。
我可以使用以下形式的 SQL 找到住户:
SELECT Room, OccupantName
FROM Rooms
WHERE Rooms IN ("Room 1", "Room 2", "Room 3", "Room 4")
但是,如果只有房间 1 和 2 有居住者,例如
Room OccupantName
Room 1, Person A
Room 2, Person B
我怎样才能得到某种形式的东西:
Room OccupantName
Room 1, Person A
Room 2, Person B
Room 3, Nobody
Room 4, Nobody
有没有办法选择IN子句中没有返回结果的元素并显示“Nobody”?
【问题讨论】:
-
尝试使用IFNULL条件,能否告诉我们哪个表存储了乘员姓名?
-
问题是,当您查询时,您的表中实际上是什么?
-
这里的桌子设计很差。 Rooms 表应包括所有表 - 无论它们是否有居住者!