Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как мога лесно да изравня тази йерархия на Sql Server в наследен включващ списък?

Можете да направите това с рекурсивен израз на обща таблица (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

Повече информация на http://msdn.microsoft.com/en-us/ библиотека/ms186243.aspx




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите за взаимно съществуване на полета в една и съща таблица в две колони

  2. Как да групирате йерархични връзки заедно в SQL Server

  3. Как да премахнете водещи и последващи знаци в SQL Server

  4. SQL:Харесва срещу Съдържа - Различни резултати

  5. Как мога да намеря номера на порта на sql сървъра от системния регистър на Windows?