令我有两个表: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