क्या आप कुछ इस तरह इस्तेमाल कर पाएंगे?
DECLARE @Tab VARCHAR(MAX)
SET @Tab = 'CREATE TABLE #Whatever ('
SELECT @Tab = @Tab + QUOTENAME(ColumnName) + ' INT NULL
,'
FROM @This
SELECT @Tab = SUBSTRING(@Tab,1,LEN(@Tab)-1) + ')'
PRINT @Tab
-- EXEC (@Tab)
दो बिंदु:आप पा सकते हैं कि आपको गतिशील sql का उपयोग किए बिना अस्थायी तालिका बनाने की आवश्यकता होगी, फिर तालिका को बदलने के लिए चयन कथन को समायोजित करें; ऐसा इसलिए है कि तालिका वर्तमान संदर्भ में मौजूद है - यदि निर्माण कथन गतिशील में है, तो आपको एक त्रुटि मिल सकती है।
मुझे इस तरह से गतिशील एसक्यूएल का उपयोग करना पसंद नहीं है - यदि आप कॉलम को वापस करने के लिए बाद में एक पिवट का उपयोग कर सकते हैं, तो यह एक बेहतर विकल्प हो सकता है (मुझे यकीन नहीं है कि यह इस मामले में संभव है)।