首页 > 解决方案 > SQL Union all Null 与 Redshift 中的一样

问题描述

在 Microsoft SQL 中,当 UNION ALL 时,如果第二个表没有 table1 的列,我可以使用 NULL AS。

示例代码:

select a.Key, a.amount from tableA a 
UNION ALL
select b.key, NULL AS 'amount' from tableB b

但是如何在 Amazon Redshift SQL 中使用相同的 NULL AS?

我在“'amount'”处或附近有语法错误

标签: sqlamazon-redshift

解决方案


不要对列别名使用单引号。

以下内容几乎适用于任何数据库(尽管key可能需要转义):

select a.Key, a.amount from tableA a 
union all
select b.key, NULL AS amount from tableB b;

事实上,在第二个查询中别名是不必要的,所以你可以这样写:

select a.Key, a.amount from tableA a 
union all
select b.key, NULL from tableB b;

推荐阅读