Tampaknya Rooms
. Anda tabel hanya berisi data untuk hunian aktif. Ini masuk akal dalam banyak hal, karena Anda tidak ingin menyimpan informasi tentang orang-orang yang tidak benar-benar menempati ruangan. Tetapi ini menimbulkan tantangan untuk menghasilkan kumpulan hasil yang Anda inginkan, karena ruang yang hilang tidak ada di Rooms
.
Salah satu opsi di sini adalah pendekatan "tabel kalender". Anda dapat LEFT JOIN
tabel yang berisi semua ruangan ke Rooms
Anda saat ini tabel, lalu beri label penghuni yang hilang sebagai 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
Perhatikan bahwa saya menggunakan subquery baris untuk membuat tabel untuk semua ruangan. Dalam praktiknya, Anda dapat membuat tabel aktual di Workbench yang berisi informasi ini.
Demo di sini: