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

Hvordan kan jeg nemt udjævne dette SQL Server-hierarki til en nedarvet inkluderende liste?

Du kan gøre dette med et rekursivt almindeligt tabeludtryk (cte).

WITH X (ProductId, CategoryId) AS (
    SELECT ProductId, CategoryId FROM #ProductCategory
    UNION ALL
    SELECT X.ProductId, C.ParentCategoryId FROM X
    INNER JOIN #Category C ON X.CategoryId = C.CategoryId
)
SELECT ProductId, CategoryId FROM X ORDER BY CategoryId, ProductId

Flere oplysninger på http://msdn.microsoft.com/en-us/ library/ms186243.aspx




  1. Indsætter NULL i MySQL tidsstempel

  2. Send MySQL blob-indhold som et json-svar

  3. Filtrer MYSQL-forespørgsel med formularindstillinger

  4. Kompleks SQL-forespørgsel med flere tabeller