मैं एक जटिल चयन कथन को सरल बनाने की प्रक्रिया में हूं, इसलिए मैंने सोचा कि मैं सामान्य तालिका अभिव्यक्तियों का उपयोग करूंगा।
एकल cte घोषित करना ठीक काम करता है।
WITH cte1 AS (
SELECT * from cdr.Location
)
select * from cte1
क्या एक ही चयन में एक से अधिक cte की घोषणा और उपयोग संभव है?
यानी यह एसक्यूएल एक त्रुटि देता है
WITH cte1 as (
SELECT * from cdr.Location
)
WITH cte2 as (
SELECT * from cdr.Location
)
select * from cte1
union
select * from cte2
त्रुटि है
Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'WITH'.
Msg 319, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
एनबी। मैंने इसमें अर्धविराम लगाने और इस त्रुटि को प्राप्त करने का प्रयास किया है
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ';'.
Msg 102, Level 15, State 1, Line 9
Incorrect syntax near ';'.
शायद प्रासंगिक नहीं है लेकिन यह SQL 2008 पर है।