在hive中尝试: 创建表var,它将只有一行和两列。第一列用于join,它可以有任何静态值,第二列是value列,它在您的案例中存储var的值。 create table var as select'xyz'as static,col\n nam as value from table where…创建表变量为静态,列名称为表中的值。。。
在要筛选记录的表中添加静态列。 创建表格tmp作为select p.,'xyz'作为static from realtable; 过滤记录- 选择from tmp t join var v on t.static=v.static,其中t.variable2>v.value;
2条答案
按热度按时间eoigrqb61#
在hive中尝试:
创建表var,它将只有一行和两列。第一列用于join,它可以有任何静态值,第二列是value列,它在您的案例中存储var的值。
create table var as select'xyz'as static,col\n nam as value from table where…创建表变量为静态,列名称为表中的值。。。
在要筛选记录的表中添加静态列。
创建表格tmp作为select p.,'xyz'作为static from realtable;
过滤记录-
选择from tmp t join var v on t.static=v.static,其中t.variable2>v.value;
2exbekwf2#
所以基本上,你可以有一张table(
table
)只有一行一列(col_nam
)保持变量不变。然后,您可以执行笛卡尔乘积联接(不带条件的联接),以便第二个表中要使用变量的每一行都可以从
table
表格:select colnam from tablename,table where variable2>col_nam;