令我有兩個表:MySQL的 - 由兩列
事件:ID,姓名,date_from,DATE_TO
event_recurrences:ID,事項標識,date_from,DATE_TO
事件記錄:
1, 'test 1', '2011-03-03 23:00:00', NULL
2, 'test 2', '2011-03-05 23:00:00', NULL
3, 'test 3', '2011-03-12 23:00:00', NULL
個
活動重複記錄:
1, 1, 2011-03-10 23:00:00, NULL
2, 1, 2011-03-17 23:00:00, NULL
3, 1, 2011-03-24 23:00:00, NULL
現在我想獲得的所有事件,並得到正確的排序是我的問題現在。
我的方法:
SELECT e.*, r.*
FROM events AS e
LEFT OUTER JOIN event_recurrences AS r ON (e.id = r.event_id)
ORDER BY r.date_from, e.date_from
的問題是現在的記錄是不正確排序。 沒有重複發生的記錄總是在排序之前排序。
你能否幫助獲得按照升序排列的日期,而無需優先處理沒有重複發生的記錄。
你需要告訴我們什麼是「正確」的意思(不,我們不能讀懂你的想法,不,不明顯 - 你是否試圖按日期排序?)。到目前爲止,我們只知道它應該是*別的東西*而不是你擁有的東西。 – Piskvor 2011-04-07 12:21:05
'left inner join'不合法。真正的查詢是「左外連接」嗎? – 2011-04-07 12:25:25
「正確」與以前的常識(常識)不同。但我會爲你重述它! – n00b 2011-04-07 12:25:54