sql >> Database teknologi >  >> RDS >> Sqlserver

SQL rekursiv forespørgsel, der henter alle forfædre til et element

with name_tree as ( select id, parent_id, name from the_unknown_table where id = 1 -- this is the starting point you want in your recursion union all select c.id, c.parent_id, c.name from the_unknown_table c join name_tree p on p.parent_id = c.id -- this is the recursion ) select * from name_tree where id <> 1; -- exclude the starting point from the overall result

SQLFiddle:http://sqlfiddle.com/#!3/87d0c/1



  1. Datobetingelser ved hjælp af søgelogik

  2. Sammenkædningsbetingelser på flere kolonner versus enkelt sammenkædning på sammenkædede kolonner?

  3. er det muligt at kalde et sql-script fra en lagret procedure i et andet sql-script?

  4. Problem med insert-forespørgsel i Sqlite?( variabel indsættelse)