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

टी-एसक्यूएल को पदानुक्रम में रूट नोड मिलता है

LEFT JOIN को CTE से बाहर ले जाने के बारे में क्या?

WITH root_nodes
AS (
    -- Grab all the leaf nodes I care about
    SELECT NULL as child_node, n.node as parent_node
    FROM #nodes n
    WHERE n.node IN (1, 2)

    UNION ALL

    -- Grab all the parent nodes
    SELECT rn.parent_node as child_node, a.parent_node
    FROM root_nodes rn
        JOIN #arcs a
      ON rn.parent_node = a.child_node
)
SELECT DISTINCT rn.parent_node AS root_node
FROM root_nodes rn
    LEFT JOIN #arcs a
  ON rn.parent_node = a.child_node
WHERE a.parent_node IS NULL

परिणाम सेट 1, 4, 7 है।




  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. डेटाग्रिड की पंक्तियों के माध्यम से पुनरावृति

  3. पेड़ पदानुक्रम प्राप्त करने के लिए सीटीई रिकर्सन

  4. मैं उन सभी तालिकाओं को कैसे ढूंढूं जिनमें विदेशी कुंजी हैं जो विशेष तालिका का संदर्भ देती हैं। कॉलम और उन विदेशी चाबियों के लिए मूल्य हैं?

  5. Sp_reset_connection क्या करता है?