Det ser ud til, at dine Rooms tabel indeholder kun data for aktive beboere. Dette giver mening på mange måder, fordi du ikke ønsker at gemme oplysninger om personer, der ikke rigtigt optager et værelse. Men det udgør en udfordring at generere dit ønskede resultatsæt, fordi de manglende lokaler ikke er til stede i Rooms .
En mulighed her er "kalendertabel"-tilgangen. Du kan LEFT JOIN en tabel, der indeholder alle rum til dine nuværende Rooms tabel, og mærk derefter manglende personer som 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
Bemærk, at jeg brugte en linjeunderforespørgsel til at oprette en tabel for alle rum. I praksis kan du oprette en egentlig tabel i Workbench, der indeholder disse oplysninger.
Demo her: