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

मूल तत्वों का पुनरावर्ती संयोजन

आप पुनरावर्ती CTE का उपयोग कर सकते हैं ।

declare @T table(ID int, Name char(1), Parent int);

insert into @T values  
(1      ,'A'       ,NULL),
(2      ,'B'       ,NULL),
(3      ,'C'       ,1),
(4      ,'D'       ,1),
(5      ,'E'       ,3),
(6      ,'F'       ,5);

with C as
(
  select ID,
         Name,
         Parent,
         cast('' as varchar(max)) as ParentNames
  from @T
  where parent is null
  union all
  select T.ID,
         T.Name,
         T.Parent,
         C.ParentNames + ' > ' + C.Name
  from @T as T         
    inner join C
      on C.ID = T.Parent
)      
select ID,
       Name,
       stuff(ParentNames, 1, 3, '') as ParentNames
from C;     


  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. SqlServer कथन का चयन क्यों करेगा उन पंक्तियों का चयन करें जो मेल खाती हैं और पंक्तियाँ जो मेल खाती हैं और जिनमें अनुगामी स्थान हैं

  4. वेरिएबल स्कोप जो संग्रहित प्रक्रियाओं में थोड़ी देर के भीतर परिभाषित होते हैं - एसक्यूएल सर्वर

  5. तालिका नाम बनाना जो MS SQL सर्वर में आरक्षित शब्द/कीवर्ड हैं