Создайте "временную шкалу" с несколькими таблицами (SQL)

75
6

Я пытаюсь создать временную шкалу действий, которые сделал пользователь (когда я использую его адрес электронной почты).

Пример:

    Подпишитесь на рассылку (16/12 09h00) Откройте информационный бюллетень (16/12 10h22) Нажмите ссылку (16/12 10h34) Нажмите на ссылку (16/12 10h37)

У меня 3 таблицы, которые я хочу использовать на моей временной шкале:

    посадка (land_email, landing_date) трекер (tracker_email, tracker_date) ссылки (links_email, links_date)

Итак, единственной общей точкой является адрес электронной почты (а столбец имеет другое имя в каждой таблице).

Я пробовал много решений, но они не работали с моим делом.

спросил(а) 2021-01-19T19:22:37+03:00 2 месяца, 3 недели назад
1
Решение
107

Вы можете использовать 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;

ответил(а) 2021-01-19T19:22:37+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема