Как вычесть из результата одного запроса 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'; 
→ Ссылка