hive筛选字段名在另一个表
时间: 2023-08-02 10:13:18 浏览: 161
可以使用Hive的子查询功能实现在另一个表中筛选字段名。假设我们有两个表table1和table2,我们想要从table1中选择所有字段名在table2中出现的列,可以使用以下查询语句:
```
SELECT
CONCAT('SELECT ',
GROUP_CONCAT(column_name SEPARATOR ', '),
' FROM table1') AS query
FROM information_schema.columns
WHERE
table_name = 'table1' AND
table_schema = 'your_database_name' AND
column_name IN (
SELECT column_name
FROM information_schema.columns
WHERE
table_name = 'table2' AND
table_schema = 'your_database_name'
);
```
上述语句使用了information_schema.columns元数据表来获取table1和table2中的列名,然后使用GROUP_CONCAT函数将所有列名连接成一个字符串,并将它们添加到SELECT语句中。
请注意,上面的查询将返回一个字符串,而不是结果集。您需要将返回的查询字符串复制到另一个查询中,以获得实际的结果集。
阅读全文