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

SQL सर्वर में पुनरावर्ती क्वेरी

इसे आजमाएं:

;WITH CTE
AS
(
    SELECT DISTINCT
        M1.Product_ID Group_ID,
        M1.Product_ID
    FROM matches M1
        LEFT JOIN matches M2
            ON M1.Product_Id = M2.matching_Product_Id
    WHERE M2.matching_Product_Id IS NULL
    UNION ALL
    SELECT
        C.Group_ID,
        M.matching_Product_Id
    FROM CTE C
        JOIN matches M
            ON C.Product_ID = M.Product_ID
)
SELECT * FROM CTE ORDER BY Group_ID

आप OPTION(MAXRECURSION n) . का उपयोग कर सकते हैं रिकर्सन गहराई को नियंत्रित करने के लिए।

एसक्यूएल फिडल डेमो



  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 सर्वर (T-SQL) में डेटाटाइमऑफ़सेट मान पर समय क्षेत्र ऑफ़सेट बदलें

  3. SQL सर्वर में IF स्टेटमेंट कैसे काम करता है

  4. बनाओ, तोड़ो नहीं, SQL सर्वर प्रदर्शन

  5. डेटाबेस को खोला नहीं जा सकता क्योंकि यह संस्करण 782 है। यह सर्वर संस्करण 706 और इससे पहले के संस्करण का समर्थन करता है। डाउनग्रेड पथ समर्थित नहीं है