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

माता-पिता के सभी बच्चों (वंशजों) को प्राप्त करने के लिए सीटीई

इसे यह करना चाहिए:

WITH MyTest as
(
  SELECT P.ProductID, P.ParentID, CAST(P.ProductID AS VarChar(Max)) as Level
  FROM Products P
  WHERE P.ParentID = 0

  UNION ALL

  SELECT P1.ProductID, P1.ParentID, CAST(P1.ProductID AS VarChar(Max)) + ', ' + M.Level
  FROM Products P1  
  INNER JOIN MyTest M
  ON M.ProductID = P1.ParentID
 )
SELECT * From MyTest

और ये रहा अपडेटेड SQL Fiddle.

साथ ही, सीटीई की सहायता के लिए इस लिंक को देखें... वे निश्चित रूप से जानने के लिए अच्छे हैं:

आशा है कि यह चाल चलेगा!



  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 सर्वर पर varchar(MAX) बनाम TEXT का उपयोग करना

  3. सप्ताह की शुरुआत तिथि और सप्ताह की समाप्ति तिथि सप्ताह संख्या से प्राप्त करें

  4. ट्री टेबल के लिए Sql क्वेरी

  5. SQL क्वेरी - परिणाम को एक स्ट्रिंग में जोड़ना