СЦЕНАРИЙ: Имеются две таблицы BigQuery A и B с несколькими столбцами и общим ключевым столбцом. Необходимо объединить обе таблицы с общим ключевым столбцом, а также получить соответствующие значения из другой таблицы, как указано в примере ниже.
INPUT: Есть две таблицы
Таблица A:
store category city
11 aaa xx
12 bbb yy
12 ccc zz
13 ddd xy
Таблица B:
store sale1 sale2 sale3
11 0.5 0.75 0.25
12 1.2 1.25 1.23
13 0.9 0.87 0.54
ОЖИДАЕМЫЙ ВЫХОД - Таблица результатов C:
store category city sale
11 aaa xx 0.5
12 bbb yy 1.25
12 ccc zz 1.23
13 ddd xy 0.87
ОБЪЯСНЕНИЕ ВЫХОДА:
Точка 1: Соединение двух таблиц с общим столбцом 'store'
Пункт 2: Проверьте, если столбец category == 'aaa', затем выберите столбец 'sale1' из таблицы B и, если категория в ('bbb', 'ddd'), затем выберите столбец 'sale2' и если категория == 'ccc', затем выберите столбец 'sale3' и сохраните соответствующее значение в таблице результатов C как столбец 'sale'.
TRIED BIGQUERY:
with res as
(select
a.store,
a.category,
a.city
)
SELECT store, category, city,
case
when category in ('aaa') then sale=b.sale1
when category in ('bbb','ddd') then sale=b.sale2
when category in ('ccc') then sale=b.sale3
end
as sale
FROM `tableA` AS a
JOIN `tableB` AS b
ON a.store = CAST(b.store AS STRING)
Нужна помощь. Заранее спасибо!