您可以为公用表表达式创建嵌套的 WITH 子句吗?

Can you create nested WITH clauses for Common Table Expressions?(您可以为公用表表达式创建嵌套的 WITH 子句吗?)

本文介绍了您可以为公用表表达式创建嵌套的 WITH 子句吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

WITH y AS (
    WITH x AS (
        SELECT * FROM MyTable
    )
    SELECT * FROM x
)
SELECT * FROM y

这样的东西有用吗?我之前尝试过,但我无法让它工作.

Does something like this work? I tried it earlier but I couldn't get it to work.

推荐答案

虽然没有严格嵌套,但您可以使用公共表表达式在后续查询中重用以前的查询.

While not strictly nested, you can use common table expressions to reuse previous queries in subsequent ones.

为此,您要查找的语句的形式是

To do this, the form of the statement you are looking for would be

WITH x AS 
(
    SELECT * FROM MyTable
), 
y AS 
(
    SELECT * FROM x
)
SELECT * FROM y

这篇关于您可以为公用表表达式创建嵌套的 WITH 子句吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:您可以为公用表表达式创建嵌套的 WITH 子句吗?

基础教程推荐