Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изберете всички родители или деца в една и съща релация на таблица SQL Server

Срещнах този проблем, разреших проблема по този начин

 --all  "parent + grandparent + etc" @childID Replaced with the ID you need

with tbParent as
(
   select * from Elem where [KEY][email protected]
   union all
   select Elem.* from Elem  join tbParent  on Elem.[KEY]=tbParent.PARENT_KEY
)
 SELECT * FROM  tbParent
 --all "sons + grandsons + etc" @parentID Replaced with the ID you need

with tbsons as
(
  select * from Elem where [KEY][email protected]
  union all
  select Elem.* from Elem  join tbsons  on Elem.PARENT_KEY=tbsons.[KEY]
)
SELECT * FROM tbsons

PS. Английският ми не е добър.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Дата в IST в SQL Server

  2. SQL - Обединяване на таблици, където една от колоните е списък

  3. Плюсове и минуси на TRUNCATE срещу DELETE FROM

  4. Не може да се съкрати таблицата, защото се препраща от ограничение FOREIGN KEY?

  5. Какъв би бил надежден начин за получаване на дробна стойност от число?