SQL";加上;包含多个派生表的步骤
我可以写下面这样的东西吗。但这并不能在WinSQL/Teradata中提供正确的输出SQL";加上;包含多个派生表的步骤,sql,teradata,winsql,Sql,Teradata,Winsql,我可以写下面这样的东西吗。但这并不能在WinSQL/Teradata中提供正确的输出 with a (x) as ( select 1 ), b (y) as ( select * from a ) select * from b 当派生表也可以工作时,您真的需要将CTE用于此特定解决方案吗: SELECT B.* FROM (SELECT A.* FROM (SELECT 1 AS Col1) A ) B; 话虽如此,我相信Teradata 14.10或
with
a (x) as ( select 1 ),
b (y) as ( select * from a )
select * from b
当派生表也可以工作时,您真的需要将CTE用于此特定解决方案吗:
SELECT B.*
FROM (SELECT A.*
FROM (SELECT 1 AS Col1) A
) B;
话虽如此,我相信Teradata 14.10或15中提供了多个CTE。我相信对单个CTE和WITH子句的支持是在Teradata 12或13中引入的。您首先调用依赖项,然后调用父项 像这样就行了。为什么会这样?Teradata喜欢人们玩的时间更长,花的时间更多,让人觉得它很重要
with
"b" (y) as ( select * from "a" ),
"a" (x) as ( select '1' )
select * from b
Teradata支持公共表表达式,如中的第224页所示。您可以在不使用WinSQL的情况下尝试它吗?