sql >> Databáze >  >> RDS >> Sqlserver

Hierarchická databáze pro výběr / vložení příkazu (SQL Server)

Pokud používáte SQL Server 2005 nebo vyšší, můžete k získání svých informací použít rekurzivní dotazy. Zde je příklad:

With tree (id, Name, ParentID, [level])
As (
    Select id, Name, ParentID, 1
    From [myTable]
    Where ParentID = 0

    Union All

    Select child.id
          ,child.Name
          ,child.ParentID
          ,parent.[level] + 1 As [level]
    From [myTable] As [child]
    Inner Join [tree] As [parent]
    On [child].ParentID = [parent].id)
Select * From [tree];

Tento dotaz vrátí řádek požadovaný první částí (kde ParentID =0) a všechny podřádky rekurzivně. Pomáhá vám to?

Nejsem si jistý, jestli rozumím tomu, co chcete, aby se s vaší vložkou stalo. Můžete poskytnout více informací, pokud jde o očekávaný výsledek, až budete hotovi?

Hodně štěstí!



  1. Chyba MS Access ODBC--volání se nezdařilo. Neplatná hodnota znaku pro specifikaci obsazení (#0)

  2. Shoda SQL na uspořádání písmen a číslic

  3. Jak funguje funkce RTRIM() v MySQL

  4. SQL Server Došlo k neplatné operaci s pohyblivou řádovou čárkou