В настоящее время я пытаюсь извлечь эти значения из таблицы, которая не существует в другой таблице. Однако, поскольку значение объединения содержит нулевые значения - опция не в, а не в том и влево, как представляется, не работает.HiveQL эквивалент!> В SQL
Таким образом, существует ли способ применить условие «не больше» в HiveQL?
Для справки, это запрос, который я побежал, а так же с не существует, и осталось присоединиться ..
with date_prob as
(
select distinct visit
from t1
where dt=20161124
and dt1!=orig_ts
),
ev_data as
(
select distinct visit
from t1
where dt=20161124
and visit is not null
and origts is not null
and uid is not null
),
fin_data as
(
select x.visit
from ev_data x
where x.visit not in
(
select distinct visit
from date_prob
and visit is not null
)
)
Запрос, который я баллотировался на левое -
with date_prob as
(
select distinct id
from t1
where dt1='2016-11-24'
and dt1!=orig_ts
and (datediff(dt1,orig_ts) not in ('1','-1'))
),
ev_data as
(
select distinct id
from t1
where dt1='2016-11-24'
and id is not null
)
select x.id
from ev_data x
left join date_prob y
where y.id is null
;
Пример данных -
id dt1 orig_ts
1 2016-11-24 2016-11-10
2 2016-11-24 2016-11-24
3 2016-11-24 2010-01-01
4 2016-11-24 2017-01-01
5 2016-11-24 2016-11-24
6 2016-11-24 2016-11-25
7 2016-11-23 2016-11-23
Поэтому из этой таблицы я хочу удалить те идентификаторы, где есть grea чем разница в день. Таким образом, запрос должен возвращать значения только там, где идентификатор равен 2,5 и 6.
я попробовать это, но она возвращается пустой результат –
Этот подход должен работать. Пожалуйста, укажите точный код с примером данных. Я попытаюсь воспроизвести. – leftjoin
Я добавил оба вопроса к основному вопросу. Благодаря! –