SQL";加上;包含多个派生表的步骤

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或

我可以写下面这样的东西吗。但这并不能在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或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的情况下尝试它吗?