Я пытаюсь получить список всех доступных временных интервалов на определенную дату, оставив присоединиться к моей таблице временных интервалов со своей таблицей расписания.
SELECT *
FROM `timeslots`
LEFT JOIN schedule ON timeslots.timeslot_id = schedule.schedule_timeslot
LIMIT 0, 30
Это возвращает:
Я хочу вернуть все строки с нулевым значением для последних 3 полей. Итак, учитывая дату 2011-08-01, я хочу, чтобы были возвращены все временные интервалы, кроме 08:30 - 10:30. Я предполагаю, что нужен какой-то подзапрос, но я не знаю, как это сделать.
Любая помощь была бы признательна.
2 ответа
Попробуй это:
SELECT *
FROM `timeslots`
LEFT JOIN schedule ON timeslots.timeslot_id = schedule.schedule_timeslot
WHERE schedule.schedule_id IS NULL or schedule.schedule_date <> '2011-08-01'
LIMIT 0, 30
Просто добавьте ГДЕ
SELECT *
FROM `timeslots`
LEFT JOIN schedule ON timeslots.timeslot_id = schedule.schedule_timeslot
WHERE schedule.schedule_timeslot IS NULL
LIMIT 0, 30
Похожие вопросы
Новые вопросы
mysql
MySQL - это бесплатная система управления реляционными базами данных с открытым исходным кодом (RDBMS), использующая язык структурированных запросов (SQL). НЕ ИСПОЛЬЗУЙТЕ этот тег для других БД, таких как SQL Server, SQLite и т. Д. Это разные БД, которые все используют свои собственные диалекты SQL для управления данными.