Как вычесть из результата одного запроса COUNT результат второго аналогичного запроса?
У меня есть таблица, в которую записываются резервы: имя, дата, тип места и его статус (занято/свободно). Я хочу высчитывать сколько есть доступных мест на определенный день: из общего списка мест, которые доступны всегда
SELECT COUNT(*) as count FROM `personal_reserv` WHERE type='two';
вычитаю количество мест, которые заняты в искомый день.
SELECT COUNT(*) as count FROM personal_reserv WHERE dates='19.06.22' AND busy='yes';
Не могу понять, как объединить два запроса в один. Из кода посылать два разных запроса и считать их разницу - выглядит таким себе решением.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Примерно как-то так?
SELECT (COUNT(*) - (
SELECT COUNT(*) as count
FROM personal_reserv
WHERE dates='19.06.22' AND busy='yes'
)) as count
FROM `personal_reserv`
WHERE type='two';