Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एसक्यूएल सर्वर 2005 में मूल्यों के साथ कई तालिकाओं से पंक्तियों को कॉलम में परिवर्तित करने के लिए टी-एसक्यूएल सहायता की आवश्यकता है

मेरा पहला विचार स्कीमा में सुधार करना है और क्या आपको वास्तव में ऐसा करने की ज़रूरत है।

प्रश्न को सरल बनाने के लिए ऐसा लगता है कि आप mstBCE में शामिल होने के आधार पर कॉलम नाम सेट करना चाहते हैं। आपको संबंध की आवश्यकता नहीं है क्योंकि tblBCE में कॉलम की संख्या निश्चित है। इसके बजाय एक पंक्ति पर पिवोट किए गए mstBCE से कॉलम नामों को सेट करने के लिए डायनामिक एसक्यूएल का उपयोग करें।

DECLARE @sql nvarchar(4000); 
SELECT @sql = N'SELECT u.[username], u.[department], 
b.[Option1TB] as [' + pvt.[1] + N'], b.[Option1], 
b.[Option2TB] as [' + pvt.[2] + N'], b.[Option2], 
b.[Option3TB] as [' + pvt.[3] + N'], b.[Option3] 
FROM tblBCE as b 
JOIN tblUser as u ON b.[UserID] = u.[userid]; ' 
FROM (
    SELECT [tabconfigid], [tabdata] 
    FROM mstBCE 
    WHERE [tabType] = N'BCE'
) as m 
PIVOT ( MIN(m.[tabdata]) FOR m.[tabconfigid] IN ([1], [2], [3]) ) as pvt; 

EXEC (@sql); 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक गतिशील क्वेरी के साथ तालिका चर में कैसे सम्मिलित करें?

  2. SQL सर्वर में पढ़ें और बढ़ाएँ int मान

  3. सी # का उपयोग कर एक एसक्यूएल स्क्रिप्ट कैसे चलाएं

  4. जब हम जॉइन में एग्रीगेट फंक्शन का उपयोग करते हैं तो ग्रुप बाय क्लॉज का उपयोग कैसे करें?

  5. संग्रहीत कार्यविधि 'dbo.aspnet_CheckSchemaVersion' नहीं ढूँढ सका