У меня есть две таблицы: одна - расписание, другая - список доступных встреч для определенных временных блоков. Я беру время дня недели на основе даты (Первый запрос)
select * from store_schedule where schedule_day = DATE_FORMAT('2011-01-17', '%a')
Выше работает нормально.
У меня есть второй запрос, в котором я получаю общее количество встреч на определенную дату и конкретное время
SELECT count(*) from store_appointment a, store_schedule b
where a.store_schedule_id = b.id and apt_date = '2011-01-17'
В моем случае теперь у меня есть две встречи одновременно на 2011/01/17, которые точно возвращены с использованием вышеуказанного.
У меня есть столбец с именем concurrent_times в моем store_schedule, чтобы определить, сколько встреч может иметь один и тот же store_schedule_id в store_appointment. Ниже мой комбинированный запрос.
select * from store_schedule where
schedule_day = DATE_FORMAT('2011-01-17', '%a') AND
(SELECT count(*) from store_appointment a, store_schedule b
where a.store_schedule_id = b.id
and apt_date = '2011-01-17') < concurrent_appointments
Этот запрос по некоторым причинам возвращает НУЛЬНЫЕ результаты. Кто-нибудь может увидеть, что я делаю не так? Каждый разбитый запрос работает нормально.