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: