View
slot_availability
Booked, admitted and remaining places for every dated slot. Replaces the stored 2020 count.
Rows 251–275 of 443
| slot_idINTEGER | exhibition_idINTEGER | titleTEXT | slot_dateTEXT | start_timeTEXT | capacityINTEGER | bookedany | admittedany | remainingany |
|---|---|---|---|---|---|---|---|---|
| 251 | 10 | Bodies in Marble | 2019-03-15 | 17:15 | 45 | 5 | 5 | 40 |
| 252 | 10 | Bodies in Marble | 2019-03-18 | 11:15 | 45 | 1 | 1 | 44 |
| 253 | 10 | Bodies in Marble | 2019-03-22 | 16:30 | 45 | 2 | 2 | 43 |
| 254 | 10 | Bodies in Marble | 2019-04-02 | 11:30 | 45 | 37 | 22 | 8 |
| 255 | 10 | Bodies in Marble | 2019-04-05 | 12:45 | 45 | 5 | 5 | 40 |
| 256 | 10 | Bodies in Marble | 2019-04-06 | 10:30 | 45 | 2 | 2 | 43 |
| 257 | 10 | Bodies in Marble | 2019-04-07 | 13:15 | 45 | 1 | 1 | 44 |
| 258 | 10 | Bodies in Marble | 2019-04-13 | 11:15 | 45 | 3 | 3 | 42 |
| 259 | 10 | Bodies in Marble | 2019-04-15 | 12:00 | 45 | 5 | 5 | 40 |
| 260 | 10 | Bodies in Marble | 2019-04-15 | 12:45 | 45 | 45 | 40 | 0 |
| 261 | 10 | Bodies in Marble | 2019-04-15 | 13:00 | 45 | 5 | 5 | 40 |
| 262 | 10 | Bodies in Marble | 2019-04-19 | 16:00 | 45 | 1 | 0 | 44 |
| 263 | 10 | Bodies in Marble | 2019-04-21 | 13:30 | 45 | 1 | 1 | 44 |
| 264 | 10 | Bodies in Marble | 2019-04-22 | 11:00 | 45 | 2 | 2 | 43 |
| 265 | 10 | Bodies in Marble | 2019-04-28 | 10:45 | 45 | 2 | 2 | 43 |
| 266 | 10 | Bodies in Marble | 2019-05-03 | 11:30 | 45 | 3 | 3 | 42 |
| 267 | 10 | Bodies in Marble | 2019-05-03 | 16:30 | 45 | 2 | 1 | 43 |
| 268 | 10 | Bodies in Marble | 2019-05-05 | 14:30 | 45 | 1 | 0 | 44 |
| 269 | 10 | Bodies in Marble | 2019-05-14 | 13:00 | 45 | 3 | 3 | 42 |
| 270 | 10 | Bodies in Marble | 2019-05-17 | 09:45 | 45 | 2 | 2 | 43 |
| 271 | 10 | Bodies in Marble | 2019-05-17 | 12:00 | 45 | 43 | 22 | 2 |
| 272 | 10 | Bodies in Marble | 2019-05-21 | 12:00 | 45 | 3 | 3 | 42 |
| 273 | 10 | Bodies in Marble | 2019-05-22 | 10:00 | 45 | 3 | 3 | 42 |
| 274 | 10 | Bodies in Marble | 2019-05-24 | 14:00 | 45 | 2 | 2 | 43 |
| 275 | 10 | Bodies in Marble | 2019-05-24 | 17:15 | 45 | 1 | 1 | 44 |
View definition
CREATE VIEW slot_availability AS
SELECT
s.slot_id,
s.exhibition_id,
e.title,
s.slot_date,
s.start_time,
s.capacity,
count(b.booking_id) AS booked,
count(h.scan_id) AS admitted,
s.capacity - count(b.booking_id) AS remaining
FROM exhibition_slot s
JOIN exhibition e ON e.exhibition_id = s.exhibition_id
LEFT JOIN exhibition_booking b ON b.slot_id = s.slot_id
LEFT JOIN hall_napoleon_scan h ON h.booking_id = b.booking_id
GROUP BY s.slot_id;