如何用CTE合并Netezza SQL多语句,无需事后删除临时表
解决方案:无需创建实体表的单语句实现
完全可行,你可以用**CTE(公共表表达式)**或者直接将VALUES子句通过UNION ALL合并,这样就不需要创建sample1和sample2实体表,执行后也不用删除它们,直接返回你需要的合并结果。
方式一:使用CTE
WITH sample1 AS ( SELECT var1, var2 FROM VALUES (1, 1), (2, 2) AS t(var1, var2) ), sample2 AS ( SELECT var1, var2 FROM VALUES (3, 3), (4, 4) AS t(var1, var2) ) SELECT * FROM sample1 UNION ALL SELECT * FROM sample2;
方式二:直接合并VALUES子句(更简洁)
SELECT var1, var2 FROM VALUES (1, 1), (2, 2) AS t(var1, var2) UNION ALL SELECT var1, var2 FROM VALUES (3, 3), (4, 4) AS t(var1, var2);
这两种方式都能输出和你原代码完全一致的结果,且不会在数据库中留下sample1和sample2表,执行后直接返回合并后的数据集。
内容的提问来源于stack exchange,提问作者stats_noob
相关产品推荐
相关产品推荐

