Es scheint, dass Ihre Rooms
Tabelle enthält nur Daten für aktive Belegungen. Dies ist in vielerlei Hinsicht sinnvoll, da Sie keine Informationen über Personen speichern möchten, die einen Raum nicht wirklich belegen. Es stellt jedoch eine Herausforderung dar, die gewünschte Ergebnismenge zu generieren, da die fehlenden Räume nicht in Rooms
vorhanden sind .
Eine Möglichkeit ist hier der „Kalendertabellen“-Ansatz. Sie können LEFT JOIN
eine Tabelle mit allen Räumen zu Ihren aktuellen Rooms
Tabelle, und markieren Sie dann fehlende Insassen 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
Beachten Sie, dass ich eine Zeilenunterabfrage verwendet habe, um eine Tabelle für alle Räume zu erstellen. In der Praxis könnten Sie eine tatsächliche Tabelle in Workbench erstellen, die diese Informationen enthält.
Demo hier: