2011-03-21 49 views
104

सिर्फ उदाहरणक्या मैं एकाधिक "साथ" का उपयोग कर सकता हूं?

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 
) 

काम नहीं करता है के लिए। "साथ पास त्रुटि"।

इसके अलावा मैं पहले के साथ दूसरे के साथ उपयोग करना चाहता हूं। क्या यह वास्तविक है या मुझे temp टेबल का उपयोग करने की आवश्यकता है?

+1

बीओएल का सटीक वाक्यविन्यास भी है। http://msdn.microsoft.com/en-us/library/ms175972%28v=SQL.100%29.aspx नोटिस '[, ... n]'। –

उत्तर

180

प्रयास करें:

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 
) 

और हाँ, आप आम तालिका को देख सकते सामान्य तालिका अभिव्यक्ति परिभाषा के अंदर अभिव्यक्ति। यहां तक ​​कि पुनरावर्ती भी। जो कुछ बहुत neat tricks की ओर जाता है।

+3

उन लोगों के लिए जिन्होंने तुरंत इसे अपने जैसा नहीं देखा, यहां पर पकड़ कथन के साथ मूल के बाद एक अल्पविराम जोड़ रहा है .. lol – CRSouser

67

हाँ - बस इसे इस तरह से कार्य करें:

WITH DependencedIncidents AS 
(
    .... 
), 
lalala AS 
(
    .... 
) 

आप WITH कीवर्ड दोहराने की जरूरत नहीं है

+7

सरल और सीधा – MDMalik

+3

क्या लालाला निर्भर अभियुक्तों का उपयोग कर सकता है? – Bren

+2

@ ब्रेन: हां, ज़ाहिर है –

संबंधित मुद्दे