Я уверен, что должен быть простой способ сделать это, но я уже несколько часов рву свои волосы, и у меня ничего не получается. Вот рабочий запрос от утилиты листинга клиентов:
SELECT c.customer_ID, title, surname, forenames, COUNT(booking_ID) AS bookings
FROM customer c
LEFT JOIN booking b
ON c.customer_ID = b.customer_ID
WHERE customer_Live
GROUP BY c.customer_ID, surname, forenames, title
ORDER BY surname;
Вот проблема: COUNT возвращает все связанных бронирований. Но в таблице бронирования есть столбец booking_Live, который имеет значение false при отмене бронирования. Что мне нужно сделать, так это как-то исключить отмененные заказы из счета; поэтому, если у всех клиентов отменены бронирования, он вернет 0. Я попытался поместить предложение HAVING в группу, но это просто приводит к удалению любых клиентов с нулевым живым бронированием из вывода.