我有两张桌子,一张预留一个房间,另一张是“中间”桌子,用于保存预订房间的日期(因为预订可能有多个非连续的日期)。mysql左连接问题
它看起来是这样的:
Res_table: ID,ROOM_ID,owner_id
Res_table_mid: ID,RES_ID,日期
在res_table_mid的RES_ID列引用res_table的ID。我需要获取预订的开始和结束日期。
所以查询看起来是这样的:
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 2010-09-11 16:30:17
hi Robert-- res_table都是int值。 – julio 2010-09-11 16:39:00