我可以从另一个WITH表引用一个WITH表吗?
例如WITH temp1 AS (
SELECT *
FROM a
),
temp2 AS (
SELECT DISTINCT ID
FROM temp1
)
SELECT *
FROM temp1, temp2
注意temp2如何引用temp1。
我的目标是在temp1中有几个函数,然后从temp1的结果执行聚合。
您所使用的正确术语是公共表表达式,通常缩写为CTE。这些不是临时表。即使它们被物化了(也就是说,保存了执行的结果),结果也只能在单个查询中使用。
你的问题的答案是,以前的CTE可以在CTE链的后面使用。可以根据需要多次使用