У меня есть таблица с именем " Сканирование " транзакций клиентов, где индивидуальный_идентификатор появляется один раз для каждой отдельной транзакции и содержит столбец, подобный scan_id . У меня есть еще одна таблица с именем ids , которая содержит случайные индивидуальные_данные, выбранные из Scan Таблица
Я хотел бы присоединиться к ids с scan и получить одну запись идентификаторов и scan_id, если она соответствует определенным значениям.
Предположим, что данные похожи ниже
Таблица сканирования
Ids scan_id
---- ------
1 100
1 111
1 1000
2 100
2 111
3 124
4 1000
4 111
Ids table
id
1
2
3
4
5
Я хочу вывод ниже, т.е. если scan_id соответствует 100 или 1000
Id MT
------ ------
1 1
2 1
3 0
4 1
Я выполнил запрос ниже и получил ошибку
select MT, d.individual_id
from
(
select
CASE
when scan_id in (90069421,53971306,90068594,136739913,195308160) then 1
ELSE 0
END as MT
from scan cs join ids r
on cs.individual_id = r.individual_id
where
base_div_nbr =1
and
country_code ='US'
and
retail_channel_code=1
and visit_date between '2019-01-01' and '2019-12-31'
) as d
group by individual_id;
Буду признателен за любые предложения или помощь в отношении на этот запрос Hive. Если есть эффективный способ выполнить эту работу. Дайте мне знать.