Je crée une représentation hiérarchique d'une colonne. Mais une erreur se produitComment travailler avec CTE. Il y a une erreur liée à l'ancre
Détails sont
Msg 240, Niveau 16, État 1, Ligne 1 types ne correspondent pas entre l'ancre et la partie récursive dans la colonne « DISPLAY » de la requête récursive "CTE".
Je sais qu'il y a une erreur de typage. Mais je ne sais pas comment supprimer l'erreur. S'il vous plaît, ne faites pas que trier mon erreur. J'ai besoin d'explication pourquoi cette erreur arrive. Lorsque cette erreur se produit. J'essaye de trier la table sur la base du type col que je m l'introduction. Je veux ajouter '-' à tous les niveaux et je veux trier en conséquence.
S'il vous plaît aider
WITH CTE (PK_CATEGORY_ID, [DESCRIPTION], FK_CATEGORY_ID, DISPLAY, SORT, DEPTH)
AS
(
SELECT PK_CATEGORY_ID, [DESCRIPTION], FK_CATEGORY_ID, '-' AS DISPLAY, '--' AS SORT, 0 AS DEPTH
FROM dbo.L_CATEGORY_TYPE WHERE FK_CATEGORY_ID IS NULL
UNION ALL
SELECT T.PK_CATEGORY_ID, T.[DESCRIPTION], T.FK_CATEGORY_ID, CAST(DISPLAY+T.[DESCRIPTION] AS VARCHAR(1000)), '--' AS SORT, C.DEPTH +1
FROM dbo.L_CATEGORY_TYPE T JOIN CTE C ON C.PK_CATEGORY_ID = T.FK_CATEGORY_ID
--SELECT T.PK_CATEGORY_ID, C.SORT+T.[DESCRIPTION], T.FK_CATEGORY_ID
--, CAST('--' + C.SORT AS VARCHAR(1000)) AS SORT, CAST(DEPTH +1 AS INT) AS DEPTH
--FROM dbo.L_CATEGORY_TYPE T JOIN CTE C ON C.FK_CATEGORY_ID = T.PK_CATEGORY_ID
)
SELECT PK_CATEGORY_ID, [DESCRIPTION], FK_CATEGORY_ID, DISPLAY, SORT, DEPTH
FROM CTE
ORDER BY SORT