【问题标题】:SemanticException IN encountered with 0 children error in HIVESemanticException IN 在 HIVE 中遇到 0 个子错误
【发布时间】:2018-04-20 15:55:10
【问题描述】:
Select t.id, sa.APPLICATION_ID, c.CODE_SID  
from table1 t 
join table2 c 
on c.ID = t.COSTTYPE 
and  c.TYPE_LIST_ID 
IN (Select typel.TYPE_LIST_ID 
     from table3 typel
     where typel.TYPELIST_TABLE_NAME = 'a' )
join table4 tl 
    on t.id = tl.id 
join table5 sa 
where sa.sourcename='GW' and sa.SYSTEM_APPLICATION_SHORT_NAME = 'B'

我正在尝试在 Hive 中执行此操作,但我收到错误消息说 SemanticException IN 遇到 0 个孩子。所以问题出在IN(选择.......)。有没有其他方法可以在不使用 IN 子句的情况下编写查询?提前感谢您的帮助

【问题讨论】:

    标签: join hiveql in-subquery


    【解决方案1】:

    我认为您的 IN 子句的问题在于它是在您的 WHERE 子句之外声明的?尝试像这样将该部分移动到您的 WHERE 子句中:

    Select t.id, sa.APPLICATION_ID, c.CODE_SID  
    from table1 t 
    join table2 c 
    on c.ID = t.COSTTYPE 
    join table4 tl 
        on t.id = tl.id 
    join table5 sa 
    where sa.sourcename='GW' and sa.SYSTEM_APPLICATION_SHORT_NAME = 'B'
    and  c.TYPE_LIST_ID 
    IN (Select typel.TYPE_LIST_ID 
         from table3 typel
         where typel.TYPELIST_TABLE_NAME = 'a' )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 2014-12-05
      • 2015-07-28
      • 1970-01-01
      相关资源
      最近更新 更多