2011-07-05 46 views
1

我有3个关键领域MySQL的排序多个日期列

  • 起始日期
  • END_DATE
  • 日期

start_dateend_date是将跨越多个日期的事件数据库。 date适用于单日活动。

如何根据开始日期或日期对所有日期进行排序(以适用者为准)。假设有第四个字段multiple_day_event,它是“是”或“否”。

+2

我会忽略这两个'date'和'multiple_day_event'列 - 它们是多余的,并且查询会没有他们更容易。用相同的结束日期设置单日事件没什么大不了的。但我希望那些列包括时间... –

+0

“数据库”你的意思是“表”? –

+0

感谢您为OMG Ponies的可读性进行编辑,但是切出部分我会说“我知道最好的方法可能是切换到使用start_date和end_date,即使是单日事件也是如此”,但我只是对你将如何用查询来完成这项工作。“然后转身提供它的建议? – Ryan

回答

2

SELECT IF(multiple_day_event, start_date, date) AS mdate ORDER BY mdate