retour j'ai une requête hiérarchique typique SQL Server:hiérarchique requête SQL non de niveau
WITH bhp AS (
SELECT name, 0 AS level
FROM dbo.BhpNode
WHERE parent_id IS NULL
UNION ALL
SELECT a.name, level + 1
FROM dbo.BhpNode a
INNER JOIN dbo.BhpNode b
ON b.bhp_node_id = a.parent_id)
SELECT * FROM bhp
Cela semble correspondre aux différents exemples de requêtes hiérarchiques que j'ai trouvé sur le web, mais pour une raison quelconque, il est producting cette erreur:
Msg 207, Level 16, State 1, Line 12
Invalid column name 'level'.
Je suis sûr que je manque quelque chose d'évident, mais je l'ai regardé trop longtemps pour le voir. Une idée d'où je vais mal?
BINGO! La référence à la CTE dans la section récursive n'était pas évidente dans les exemples que je regardais et s'est perdue en traduisant à mes tables. Je savais que c'était mal de référencer le niveau sans le définir, et maintenant je sais pourquoi. Merci pour la réponse rapide. – gfrizzle