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

Hierarkisk databasevalg/indsæt erklæring (SQL-server)

Hvis du bruger SQL Server 2005 eller nyere, kan du bruge rekursive forespørgsler til at få dine oplysninger. Her er et eksempel:

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];

Denne forespørgsel returnerer den række, der anmodes om af den første del (hvor ParentID =0) og alle underrækker rekursivt. Hjælper dette dig?

Jeg er ikke sikker på, at jeg forstår, hvad du vil have, der skal ske med din indsats. Kan du give flere oplysninger med hensyn til det forventede resultat, når du er færdig?

Held og lykke!



  1. PHP ændrer gammel mysql_query til PDO

  2. Kan ikke installere mysql2 for rails 3 på Windows

  3. Brug af MySQL 'POINT' og PHP til at indsætte bredde- og længdegradspunkter gennem en formular

  4. Sådan rettes "Serveren er ikke konfigureret til RPC" Msg 7411 ved hjælp af T-SQL