使用多个表创建“时间轴”(SQL)

时间:2014-12-16 16:34:03

标签: sql

我试图创建用户所做的行动时间表(当我使用他的电子邮件地址时)。

实施例

  • 订阅时事通讯(16/12 09h00)
  • 打开时事通讯(16/12 10h22)
  • 点击链接(16/12 10h34)
  • 点击链接(16/12 10h37)

3桌我想在我的时间轴中使用

  • 登陆(landing_email,landing_date)
  • tracker(tracker_email,tracker_date)
  • links(links_email,links_date)

因此,唯一的共同点是电子邮件地址(并且每个表中的列都有不同的名称)。

我已经尝试了很多解决方案,但他们并没有处理我的案例。

1 个答案:

答案 0 :(得分:0)

您可以使用UNION:

SELECT Email, DateTime FROM
  (SELECT landing_email as Email, landing_date as DateTime FROM landing 
   UNION 
   SELECT tracker_email as Email, tracker_date as DateTime FROM tracker
   UNION
   SELECT links_email as Email, links_date as DateTime FROM links)
WHERE EMAIL='user@domain.com'
ORDER BY DateTime;