2017-08-20 30 views
-1

我有兩個表我想選擇的數據。 基本上它是一個幫助臺系統,它收集有關門票活動的信息。MYSQL加入兩個表並列出最舊的條目

Table #1 

ticket_id log_type  entry_date 

    1  ticket_created 1471442825 
    1  ticket_closed 1471442825 
    2  ticket_created 1438035457 
    2  ticket_closed 1438035269 
    3  ticket_created 1438034956 
    3  ticket_closed 1438034121 



Table #2 

ticket_id customer_name status 

    1   Bill   open 
    2   John   closed 
    3   Mark   canncelled 

我想獲得是

ticket_id customer_name  log_type  entry_date 

    1   Bill   ticket_created 1471442825 
    2   John   ticket_created 1471442825 
    3   Mark   ticket_created 1471442825 

,其中最古老的ENTRY_DATE將在5天以上(列出過時的門票)。

我嘗試了幾次連接,但沒有成功。

+0

您只想要打開門票嗎? –

+0

我不明白結果集如何與數據集相關 – Strawberry

+0

Corect我不想打開仍然打開的票 –

回答

0

您可以使用JOINMIN(entry_date),例如:

SELECT t2.ticket_id, t2.customer_name, t1.log_type, t1.date 
FROM table_2 t2, 
JOIN (SELECT ticket_id, MIN(entry_date) AS `date` 
FROM table_1 
GROUP BY ticket_id) t1 
ON t2.ticket_id = t1.ticket_id AND t2.entry_date = t1.date; 

要過濾掉的記錄,你可以在t1.date添加另一個條件與DATE_ADD功能。