hive Как использовать условные операторы для выполнения другого запроса на основе результата - PullRequest
0 голосов
/ 03 марта 2020

У меня есть запрос select col1, col2 from view1, и я хотел выполнить только тогда, когда (select columnvalue from table1) > 0 еще ничего не делает.

if (select columnvalue from table1)>0 
                   select col1, col2 from view1" 
                  else 
                      do thing

Как этого добиться в одном запросе улья?

1 Ответ

0 голосов
/ 03 марта 2020

Если запрос проверки возвращает скалярное значение (одна строка), вы можете выполнить перекрестное соединение с результатом проверки и отфильтровать, используя условие> 0:

 with check_query as (
 select count (*) cnt 
 from table1
 )

 select *   
 from view1 t
      cross join check_query c
  where c.cnt>0
 ;
...