cnd*_*cnd 167 sql t-sql sql-server-2008
仅举例来说
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
)
Run Code Online (Sandbox Code Playgroud)
不起作用."附近的错误".
另外我想首先使用内部第二个.它是真的还是我需要使用临时表?
Tom*_*icz 297
尝试:
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
),
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
)
Run Code Online (Sandbox Code Playgroud)
是的,您可以在公用表表达式定义中引用公用表表达式.甚至是递归的.这导致一些非常巧妙的技巧.
mar*_*c_s 102
是的 - 就这样做:
WITH DependencedIncidents AS
(
....
),
lalala AS
(
....
)
Run Code Online (Sandbox Code Playgroud)
您无需重复WITH关键字