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

SQL CONCAT IF स्टेटमेंट?

SELECT  agenda.AgendaItemNumber,
        Agenda.AgendaName, 
        AgendaType.AgendaTypeDescription, 
        STUFF(( SELECT  ';' + FullName 
                FROM    UserDetails
                WHERE   UserDetails.AgendaID = Agenda.AgendaID
                FOR XML PATH('')
            ), 1, 1, '') AS fullName 
FROM    Agenda
        INNER JOIN AgendaType 
            ON AgendaType.AgendaTypeID=Agenda.AgendaTypeID
        INNER JOIN UserDetails 
            ON Agenda.AgendaID = Userdetails.AgendaID
WHERE   agenda.AgendaTypeID = '2'
AND     AgendaItemNumber = AgendaItemNumber
AND     AgendaName = AgendaName
AND     AgendaTypeDescription = AgendaTypeDescription
AND     AgendaItemNumber >= '3'

अनुलग्नक

SQL-सर्वर में XML एक्सटेंशन आपको कई पंक्तियों को एक पंक्ति में संयोजित करने की अनुमति देता है। एक्सटेंशन का वास्तविक इरादा यह है कि आप एक्सएमएल (जाहिर है) के रूप में आउटपुट कर सकते हैं, लेकिन कुछ निफ्टी ट्रिक्स हैं जो एक्सटेंशन के उपोत्पाद हैं। उपरोक्त क्वेरी में, यदि सबक्वेरी (पूर्णनाम) में एक कॉलम नाम होता तो यह <FullName>Joe Bloggs1</FullName><FullName>Joe Bloggs2</FullName> के रूप में आउटपुट होता है। , क्योंकि कोई कॉलम नाम नहीं है, यह केवल पंक्तियों को जोड़ता है (उचित एक्सएमएल नहीं बना रहा है)। PATH part आपको एक अतिरिक्त नोड निर्दिष्ट करने की अनुमति देता है, उदाहरण के लिए यदि आप उपरोक्त में PATH('Name') का उपयोग करते हैं तो आपको <Name>;Joe Bloggs</Name><Name>;Joe Bloggs2</Name> यदि आप पाथ को एक कॉलम नाम के साथ जोड़ते हैं तो आपको जो ब्लॉग्स मिलेंगे।

अंत में STUFF बस सूची के प्रारंभ में अर्धविराम हटा देता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक्सेल शीट अपलोड करना और डेटा को SQL सर्वर डेटाबेस में आयात करना

  2. SQL सर्वर में उच्च गंभीरता त्रुटियों से निपटना

  3. कॉलम और पंक्तियों को समूहीकृत करना और स्विच करना

  4. समग्र प्राथमिक कुंजी + विदेशी कुंजी

  5. दो स्तंभों के साथ दो तालिकाओं में शामिल हों SQL Server 2008 R2