我有一个Hive ETL工作,我必须从年表中提取数据并将其合并。不要问为什么每年都有一个单独的表(旧式系统和庞大的系统)。
让我们假设表名是table11,table12,。 。 。,table19
现在我可以写查询到'from'table19,但是我想编写通用代码,否则必须每年更新代码。我相信,如果我是对的,则不能在'from'子句中使用通配符。例如table20 *
最好的问候,
答案 0 :(得分:0)
您可以使用准备好的语句。因此,您可以使用 CONCAT 生成查询,然后执行该查询。
-- SELECT CONCAT("insert into newtable select * from table",DATE_FORMAT(now(),'%y'))
SELECT CONCAT(" select * from mysql.user") INTO @sql;
SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;