2011-11-23 126 views
1

我在MYSQL中有两个表将通过外键连接。每个表都有自己的日期字段。我想要做的是将这两个日期字段组合在一起,然后通过组合信息进行排序。我明白你可以通过多个领域进行订购,但我不认为它们结合在一起。MYSQL结合两个日期字段然后排序BY

Join by tickets.ticket_id = ticket_history.ticket_id 

表1

ticket_date

表2

ticket_history_date

目标组合两个日期字段,然后命令该行通过组合日期

+1

你想如何合并它们?你能举一个例子吗? –

+0

上面的例子:) – ORStudios

+0

你是什么意思合并?这两个日期总是一样吗?如果不是,你将如何结合2日期?如果它们是相同的,则不需要将它们组合起来,只需按顺序排列其中一个,它就会由另一个排序......不是? – Nick

回答

5

让我们假设你想要最新的两个日期,你可以做这样的事情

SELECT 
    [some info], 
    GREATEST(ticket_date, ticket_history_date) as latest_date 
FROM 
    [tables and join] 
ORDER BY 
    latest_date 

如果你想你可以使用LEAST而不是GREATEST最早的日期。如果其中一个日期可能为NULL,那么您可能需要查看COALESCE

+0

在这里找到另一个答案http://stackoverflow.com/questions/3264941/mysql-order-by-2-dates ORDER BY GREATEST(1,2) –

1

UNION查询允许您组合2个或更多“select”查询的结果集。它删除各种“select”语句之间的重复行。

UNION查询中的每个SQL语句在具有相似数据类型的结果集中必须具有相同数量的字段。

的UNION查询的语法是:

选择场,场2。 field_n from UNION select field1,field2,...。 field_n from tables;

相关问题