Apenas por exemplo:
With DependencedIncidents AS
(
SELECT INC.[RecTime],INC.[SQL] AS [str] FROM
(
SELECT A.[RecTime] As [RecTime],X.[SQL] As [SQL] FROM [EventView] AS A
CROSS JOIN [Incident] AS X
WHERE
patindex('%' + A.[Col] + '%', X.[SQL]) > 0
) AS INC
)
With lalala AS
(
SELECT INC.[RecTime],INC.[SQL] AS [str] FROM
(
SELECT A.[RecTime] As [RecTime],X.[SQL] As [SQL] FROM [EventView] AS A
CROSS JOIN [Incident] AS X
WHERE
patindex('%' + A.[Col] + '%', X.[SQL]) > 0
) AS INC
)
... não funciona. "Erro perto de Com".
Além disso, eu quero usar primeiro com dentro de segundo com. É real ou preciso usar tabelas temporárias?
sql
tsql
sql-server-2008
cnd
fonte
fonte
[ ,...n ]
.Respostas:
Experimentar:
E sim, você pode fazer referência à expressão de tabela comum dentro da definição de expressão de tabela comum. Mesmo recursivamente. O que leva a alguns truques muito legais .
fonte
with
novamenteSim - faça assim:
Você não precisa repetir a
WITH
palavra - chavefonte
lalala
) pode usar qualquer CTE definido antes - mas o anterior não pode usar uma CTE que só vai ser definido mais tarde ....