निम्न छवि Microsoft SQL Server 2008 R2 सिस्टम दृश्य का एक हिस्सा है। छवि से हम देख सकते हैं कि के बीच संबंध sys.partitions
और sys.allocation_units
मूल्य पर निर्भर करता है sys.allocation_units.type
। इसलिए उन्हें एक साथ मिलाने के लिए मैं कुछ ऐसा लिखूंगा:
SELECT *
FROM sys.indexes i
JOIN sys.partitions p
ON i.index_id = p.index_id
JOIN sys.allocation_units a
ON CASE
WHEN a.type IN (1, 3)
THEN a.container_id = p.hobt_id
WHEN a.type IN (2)
THEN a.container_id = p.partition_id
END
लेकिन ऊपरी कोड एक सिंटैक्स त्रुटि देता है। मुझे लगता है कि CASE
बयान के कारण है । क्या कोई थोड़ा समझाने में मदद कर सकता है?
त्रुटि संदेश जोड़ें:
एमएसजी 102, स्तर 15, राज्य 1, लाइन 6 '=' के पास गलत सिंटैक्स।