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

WM_CONCAT फ़ंक्शन के बराबर SQL सर्वर

इसके लिए आपके पास कोई समकक्ष फ़ंक्शन नहीं है, लेकिन आप अभी भी अनुकरण कर सकते हैं (CROSS APPLY का उपयोग करें) और FOR XML PATH('') ) उदाहरण,

USERID  ADDRESSLINE1
==========================
1       First Street
1       Second Street
2       32th Street
2       24th Street
2       25th Street

परिणाम होगा

USERID  ADDRESSLIST
============================
1       First Street, Second Street
2       32th Street, 24th Street, 25th Street

इस क्वेरी का उपयोग करना:

SELECT  a.UserID, 
        SUBSTRING(d.Addresses,1, LEN(d.Addresses) - 1) AddressList
FROM
        (
            SELECT DISTINCT UserID
            FROM tableName
        ) a
        CROSS APPLY
        (
            SELECT [AddressLine1] + ', ' 
            FROM tableName AS B 
            WHERE A.UserID = B.UserID 
            FOR XML PATH('')
        ) D (Addresses) 

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. Oracle 9i, Oracle 10g और Oracle 11g डेवलपर सुइट फॉर्म और रिपोर्ट ट्यूटोरियल

  2. Oracle PL/SQL:स्टैक ट्रेस, पैकेज का नाम और प्रक्रिया का नाम कैसे प्राप्त करें

  3. मैं केवल कल से रिकॉर्ड कैसे चुन सकता हूँ?

  4. SQLBLANKLINES सेट करें:SQLcl और SQL* Plus में खाली लाइनों की अनुमति कैसे दें

  5. ऑरैकल में पूर्ण तालिका स्कैन खोजने की क्वेरी