Het lijkt erop dat uw Rooms
tabel bevat alleen gegevens voor actieve bezettingen. Dit is in veel opzichten logisch, omdat u geen informatie wilt opslaan over mensen die niet echt een kamer bezetten. Maar het is een uitdaging om de gewenste resultatenset te genereren, omdat de ontbrekende kamers niet aanwezig zijn in Rooms
.
Een optie hier is de "kalendertabel" -benadering. U kunt LEFT JOIN
een tabel met alle kamers tot uw huidige Rooms
tafel en label vervolgens ontbrekende bewoners als nobody
.
SELECT t1.Room,
COALESCE(t2.OccupantName, 'Nobody') AS OccupantName
FROM
(
SELECT "Room 1" AS Room
UNION ALL
SELECT "Room 2"
UNION ALL
SELECT "Room 3"
UNION ALL
SELECT "Room 4"
) AS t1
LEFT JOIN Rooms AS t2
ON t1.Room = t2.Rooms
Merk op dat ik een regelsubquery heb gebruikt om een tabel voor alle kamers te maken. In de praktijk zou je in Workbench een echte tabel kunnen maken met deze informatie.
Demo hier: