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

माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 में group_concat MySQL फ़ंक्शन सिम्युलेट कर रहा है?

ऐसा करने का कोई वास्तविक आसान तरीका नहीं है। हालांकि, बहुत सारे विचार हैं।

मुझे जो सबसे अच्छा मिला है:

SELECT table_name, LEFT(column_names , LEN(column_names )-1) AS column_names
FROM information_schema.columns AS extern
CROSS APPLY
(
    SELECT column_name + ','
    FROM information_schema.columns AS intern
    WHERE extern.table_name = intern.table_name
    FOR XML PATH('')
) pre_trimmed (column_names)
GROUP BY table_name, column_names;

या एक संस्करण जो सही ढंग से काम करता है यदि डेटा में < . जैसे वर्ण हो सकते हैं

WITH extern
     AS (SELECT DISTINCT table_name
         FROM   INFORMATION_SCHEMA.COLUMNS)
SELECT table_name,
       LEFT(y.column_names, LEN(y.column_names) - 1) AS column_names
FROM   extern
       CROSS APPLY (SELECT column_name + ','
                    FROM   INFORMATION_SCHEMA.COLUMNS AS intern
                    WHERE  extern.table_name = intern.table_name
                    FOR XML PATH(''), TYPE) x (column_names)
       CROSS APPLY (SELECT x.column_names.value('.', 'NVARCHAR(MAX)')) y(column_names) 


  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 सर्वर में Oracle के PRIOR द्वारा कनेक्ट का अनुकरण

  2. SQL सर्वर प्रतीक्षा ईवेंट -2

  3. सामान्य SQL सर्वर दुर्घटनाएँ

  4. एक अदिश चर में SQL सर्वर आउटपुट क्लॉज

  5. Xamarin.Forms में सीधे एक Sql सर्वर डेटाबेस तक पहुँचना