Cross Apply
Use का इस्तेमाल करें परिणाम को अनपिवट करने के लिए। इस प्रारूप में गतिशील क्वेरी क्वेरी का निर्माण किया जाना चाहिए।
SELECT mnum,
label,
label_value,
[Property Type]
FROM #SetValuesTable
CROSS apply(VALUES ('la1',la1),('la2',la2),('la3',la3),
('sa1',sa1),('sa2',sa2),('sa3',sa3),
('ha1',ha1),('ha2',ha2),('ha3',ha3),
('ka1',ka1),('ka2',ka2)) cs (label, label_value)
Dynamic query
कुछ इस तरह होना चाहिए
DECLARE @label VARCHAR(max)='',
@sql NVARCHAR(max)
SELECT @label += '(' + '''' + label + ''',' + label + '),'
FROM (SELECT DISTINCT Isnull(label, '') label
FROM #labelTempTab)a
SELECT @label = LEFT(@label, Len(@label) - 1)
SET @sql= 'SELECT mnum,
label,
label_value,
[Property Type]
FROM #SetValuesTable
CROSS apply(VALUES ' + @label
+ ') cs (label, label_value) '
EXEC Sp_executesql @sql
नोट: चूंकि आप #labelTempTab
. से मान सूची तैयार कर रहे हैं तालिका सुनिश्चित करें कि आपके पास #SetValuesTable
. में मौजूद सभी लेबल हैं टेबल