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

क्या मैं एक कॉलम में एकाधिक पंक्तियों को अल्पविराम से परिसीमित कर सकता हूँ?

यहाँ एक समाधान है जो SQL Server 2005+ में काम करता है:

SELECT t.TicketID,
       STUFF(ISNULL((SELECT ', ' + x.Person
                FROM @Tickets x
               WHERE x.TicketID = t.TicketID
            GROUP BY x.Person
             FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), ''), 1, 2, '') [No Preceeding Comma],
       ISNULL((SELECT ', ' + x.Person
                FROM @Tickets x
               WHERE x.TicketID = t.TicketID
            GROUP BY x.Person
             FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), '') [Preceeding Comma If Not Empty]
  FROM @Tickets t
GROUP BY t.TicketID

संदर्भ:

  • 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 सर्वर में sys.dm_exec_describe_first_result_set कैसे काम करता है

  2. पेश है प्लेबैक—स्पॉटलाइट क्लाउड के लिए टाइम डायग्नोसिस में नया बिंदु

  3. SQL सर्वर में फ्लोट से वर्चर तक कास्टिंग क्यों किया जा रहा है?

  4. बेहतर गतिशील SQL से बचने के लिए 10 SP_EXECUTESQL गोचास

  5. SQL सर्वर में डेटाबेस से सभी ट्रिगर कैसे छोड़ें या हटाएं?