У меня есть две таблицы, одна из которых зарезервировала номер для комнаты, а другая представляет собой «среднюю» таблицу для хранения дат, на которых зарезервирована комната (так как резервирование может иметь несколько непоследовательных даты).mysql left join question
Это выглядит примерно так:
Res_table: идентификатор, room_id, owner_id
Res_table_mid: идентификатор, res_id, дата
res_id колонка в res_table_mid ссылается на идентификатор res_table. Мне нужно получить дату начала и окончания бронирования.
Так что запрос выглядит примерно так:
SELECT * FROM res_table a
LEFT JOIN (SELECT min(date) as start_date, res_id FROM res_table_mid) AS min ON a.id = min.res_id
LEFT JOIN (SELECT max(date) as end_date, res_id FROM res_table_mid) AS max ON a.id = max.res_id
Это работает, как ожидалось, если таблицы не являются пустыми или нет результатов, в этом случае ошибки с
#1048 - Column 'res_id' cannot be null
Есть ли способ написать это, чтобы я получал нужные мне данные, но если результатов нет, также нет ошибки?
Спасибо!
Что такое структура базы данных для 'res_table' – RobertPitt
hi Robert-- res_table - все значения int. – julio