WITH y AS (
WITH x AS (
SELECT * FROM MyTable
)
SELECT * FROM x
)
SELECT * FROM y
Algo assim funciona? Eu tentei antes, mas não consegui fazê-lo funcionar.
sql
sql-server
tsql
nested
common-table-expression
Joe Phillips
fonte
fonte
Você pode fazer o seguinte, chamado de consulta recursiva:
Você pode não precisar dessa funcionalidade. Fiz o seguinte apenas para organizar melhor minhas consultas:
fonte
Com não funciona incorporado, mas funciona consecutivamente
EDITAR Corrigida a sintaxe ...
Além disso, dê uma olhada no exemplo a seguir
DEMO SQLFiddle
fonte
Essas respostas são muito boas, mas, quanto a encomendar os itens corretamente, é melhor consultar este artigo http://dataeducation.com/dr-output-or-how-i-learned-to-stop -preocupando-e-amando-a-mesclagem
Aqui está um exemplo de sua consulta.
fonte
Eu estava tentando medir o tempo entre os eventos, com exceção de qual entrada tem vários processos entre o início e o fim. Eu precisava disso no contexto de outros processos de linha única.
Eu usei um select com uma junção interna como minha instrução select no Nth cte. O segundo cte eu precisava extrair a data de início em X e a data de término em Y e usei 1 como um valor de ID para a união esquerda para colocá-los em uma única linha.
Funciona para mim, espero que ajude.
.... outros ctes
fonte
O 'With' aninhado não é suportado, mas você sempre pode usar o segundo With como uma subconsulta, por exemplo:
fonte
podemos criar cte aninhado. veja o cte abaixo no exemplo
fonte