MYSQL连接两个表并列出最旧的条目

时间:2017-08-20 09:12:27

标签: 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天或更长时间(列出过期的门票)。

我尝试了几次连接但是没有成功。

1 个答案:

答案 0 :(得分: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上添加其他条件。