Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wybierz wszystkich rodziców lub dzieci w tej samej relacji tabeli SQL Server

Spotkałem się z tym problemem,W ten sposób rozwiązałem problem

 --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.Mój angielski nie jest dobry.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Napraw „nazwa profilu jest nieprawidłowa” podczas wysyłania poczty z serwera SQL

  2. Nie można edytować wierszy programu SQL Server w celu uzyskania dostępu po wstawieniu

  3. Wydajny sposób na dzielenie ciągów za pomocą CTE

  4. SQL Server 2008 do SQL Server Compact Edition?

  5. Jak możemy sprawdzić, czy tabela ma indeks, czy nie?