2011-11-23 63 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;

相關問題