我是Teradata SQL的新手。我正在尝试编写如下查询
Create table abc as
(
with datasets as
(
select * from tableA
UNION
select * from tableB
) );
我遇到错误:
3707
答案 0 :(得分:1)
这是您想要的吗?
Create table abc as
select * from tableA
UNION
select * from tableB;
使用CTE时,应在FROM
子句中引用CTE。但是,不需要CTE。
答案 1 :(得分:1)
您应该始终显示确切的错误消息,Create Table As
的语法具有必需的参数:
Create table abc as
(
select * from tableA
UNION
select * from tableB
) WITH DATA;
您真的需要UNION
吗? UNION ALL
可以提高性能,因为它避免了DISTINCT处理。
也不要忘记定义主索引,因为CREATE TABLE AS SELECT将删除所有索引。另外,所有列都可以为NULLable。要解决此问题,最好使用
创建表Create table abc as tableA WITH NO DATA; -- exact copy
之后
insert into abc
select * from tableA
UNION
select * from tableB