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

कई पंक्तियों में समूह कॉलम और SQL सर्वर में MySQL की तरह Group_concate

इसे आजमाएं:

SELECT  Name, 
CAST(count AS VARCHAR(10)) + ',' + CAST(ProjectID AS VARCHAR(10))
AS Label FROM table1

परिणाम

NAME                   LABEL
----------------------------
Security Services      32,1
Technical Services     32,7
Technical Services     31,2

यह SQLFiddle देखें

यदि आप Name . के आधार पर समूह बनाना चाहते हैं (कुछ इस तरह Group_Concate MySQL में) SQL सर्वर में इसके लिए कोई विधि नहीं है। इसके पीछे सिर्फ एक तर्क है।
तो इसे आजमाएं:

SELECT  * FROM    (
    SELECT  DISTINCT Name
    FROM    table1
    ) table2
CROSS APPLY
    (SELECT  CASE ROW_NUMBER() 
      OVER(ORDER BY ProjectId) 
      WHEN 1 THEN '' ELSE ': ' END + 
      (CAST(table3.count AS VARCHAR(10)) + ',' 
      + CAST(table3.ProjectID AS VARCHAR(10)) )
    FROM    table1 table3
    WHERE   table3.Name = table2.Name
    ORDER BY ProjectID
    FOR XML PATH ('')
    ) table3(Label)

तो परिणाम होगा

NAME                  LABEL
--------------------------------
Security Services     32,1
Technical Services    31,2: 32,7

यह SQLFiddle देखें



  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 सर्वर के लिए Microsoft OLE DB प्रदाता TLS 1.2 का समर्थन करता है?

  3. SQL सर्वर को हबस्पॉट CRM से कनेक्ट करें

  4. SQL सर्वर सबक्वेरी ने 1 से अधिक मान लौटाए। इसकी अनुमति नहीं है जब सबक्वेरी इस प्रकार है =, !=, <, <=,>,>=

  5. क्या मैं SQL सर्वर के विरुद्ध कुछ उपयोगकर्ताओं को प्रमाणित करने के लिए ADFS 2.0 का उपयोग कर सकता हूँ?