我可以写下类似的东西。但这在 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。我相信 Teradata 12 或 13 中引入了对单个 CTE 和 WITH 子句的支持。
你打电话给受抚养人,然后像这样打电话给父母,它会起作用。为什么会这样?Teradata 喜欢人们玩得更久,花更多的时间在上面,让人觉得它很重要
with
"b" (y) as ( select * from "a" ),
"a" (x) as ( select '1' )
select * from b