Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 配置单元-仅支持1个子查询表达式_Hive_Hiveql - Fatal编程技术网

Hive 配置单元-仅支持1个子查询表达式

Hive 配置单元-仅支持1个子查询表达式,hive,hiveql,Hive,Hiveql,我有3个表T1,T2,T3,id列。我想从T1中获取不在T2和T3中的id select id from T1 where id not in (select id from T2) and id not in (select id from T3). 但它会抛出错误,就像单个查询只支持1个子查询表达式一样。您可以使用左联接: select T1.id from T1 left join (select distinct id from T2) T2 on T2.id=T

我有3个表T1,T2,T3,id列。我想从T1中获取不在T2和T3中的id

select id from T1 where id not in (select id from T2) and id not in (select id from T3).
但它会抛出错误,就像单个查询只支持1个子查询表达式一样。

您可以使用左联接:

select T1.id 
  from T1 
       left join (select distinct id from T2) T2 on T2.id=T1.id
       left join (select distinct id from T3) T3 on T3.id=T1.id 
 where T2.id is NULL 
   and T3.id is NULL;
在子查询中使用
distinct
,以确保在T2和T3中id不唯一时,联接不会与行相乘。

您可以使用左联接:

select T1.id 
  from T1 
       left join (select distinct id from T2) T2 on T2.id=T1.id
       left join (select distinct id from T3) T3 on T3.id=T1.id 
 where T2.id is NULL 
   and T3.id is NULL;

distinct
用于子查询,以确保在T2和T3中id不唯一的情况下,联接不会与行相乘。

同样有2个子查询。我是否需要使用“T2.id和T3.id”或“T2.id或T3.id”@VanajaJayaraman此查询应该可以正常工作。T2.id为NULL,T3.id为NULL这有2个子查询。我是否需要使用“T2.id和T3.id”或“T2.id或T3.id”@VanajaJayaraman此查询应该可以正常工作。T2.id为NULL,T3.id为NULL