【问题标题】:hive How to use conditional statements to execute different query based on resulthive 如何使用条件语句根据结果执行不同的查询
【发布时间】:2020-03-03 07:15:17
【问题描述】:

我有查询select col1, col2 from view1,我只想在(select columnvalue from table1) > 0 时执行,否则什么都不做。

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

如何在单个配置单元查询中实现这一点?

【问题讨论】:

  • 问题是关于 Spark 还是 Hive?

标签: apache-spark hadoop pyspark hive hiveql


【解决方案1】:

如果检查查询返回标量值(单行),那么您可以与检查结果交叉连接并使用 > 0 条件进行过滤:

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

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

【讨论】:

    最近更新 更多