надежных экспертов BQ.
Справочная информация:
У меня есть пользователи, читающие статьи на веб-сайте (таблица пользователей A), и пользователи, просматривающие статьи из электронной почты (таблица пользователей B), и у меня есть таблицы просмотра BQ для каждого набора пользователей. В пользовательской таблице A отсутствуют некоторые user_id пользователей, которые просмотрели электронные письма. См. Таблицу пользователей A ниже.
*User Table A* - Website
id | user_id | article id | viewed_at
------------------------------------------------------------------
1 | 1 | 1000 | 2019-01-25 01:04:00 UTC
2 | 2 | 1001 | 2019-01-25 01:03:00 UTC
3 | 3 | 1002 | 2019-01-25 01:03:00 UTC
4 | null | 1001 | 2019-01-25 01:04:00 UTC
5 | null | 1000 | 2019-01-24 20:49:00 UTC
6 | null | 1003 | 2019-01-24 20:47:00 UTC
*User Table B* - Email
id | user_id | article id | clicked_at
------------------------------------------------------------------
1 | 1 | 1000 | 2019-01-25 01:04:00 UTC
2 | 1 | 1000 | 2019-01-24 20:49:00 UTC
3 | 6 | 1003 | 2019-01-24 20:47:00 UTC
Я хочу создать одно представление / таблицу, которая заменяет нулевой результат user_id в пользовательской таблице A на user_id из пользовательской таблицы B ЕСЛИ views_at и clicked_at одинаковы И article_id из пользовательской таблицы A и пользовательской таблицы B также одинаковы.
Я также хочу сохранить нулевой результат user_id, если соответствующие просмотренные_каталоги / clicked_at и article_id не найдены в пользовательской таблице B.
*Desired Result Table*
id | user_id | article id | viewed_at
------------------------------------------------------------------
1 | 1 | 1000 | 2019-01-25 01:04:00 UTC
2 | 2 | 1001 | 2019-01-25 01:03:00 UTC
3 | 3 | 1002 | 2019-01-25 01:03:00 UTC
4 | null | 1001 | 2019-01-25 01:04:00 UTC
5 | 1 | 1000 | 2019-01-24 20:49:00 UTC
6 | 6 | 1003 | 2019-01-24 20:47:00 UTC
Надеюсь, это имеет смысл.
Пожалуйста, помогите. Это занимало мою голову в течение нескольких месяцев.