我有4個表格,如下所示; 時間表,SCHEDULE_OVERRIDE,SCHEDULE_LOCATION_OVERRIDES和LOCATIONMySQL - 在添加WHERE子句時出現LEFT JOIN失敗
我需要從所有表返回所有的行,以便運行此查詢工作正常,將NULL值中不存在任何值:
SELECT.....
FROM (schedule s LEFT JOIN schedule_override so ON so.schedule_id = s.id)
LEFT JOIN schedule_location_override slo ON slo.schedule_override_id = so.id
LEFT JOIN location l ON slo.location_id = l.id
ORDER BY s.id, so.id, slo.id, l.id
然後,我需要在schedule_override end_date字段上重新記錄結果。我的問題是,只要我這樣做,根本沒有返回SCHEDULE表的結果。即使覆蓋end_date標準不符合,我也需要返回所有時間表。
我使用什麼樣的繼承人:
SELECT.....
FROM (schedule s LEFT JOIN schedule_override so ON so.schedule_id = s.id)
LEFT JOIN schedule_location_override slo ON slo.schedule_override_id = so.id
LEFT JOIN location l ON slo.location_id = l.id
WHERE so.end_date > '2011-01-30' OR so.end_date IS NULL
ORDER BY s.id, so.id, slo.id, l.id
欣賞任何想法/評論。
最好的問候,本。
是的,這樣做!非常感謝,我一直在爲此奮鬥一段時間。 此致,本。 – Ben 2011-01-30 12:19:58