Comme par hasard fait allusion dans la réponse d'Al W (et le commentaire de Tony). Le fait que l'erreur soit décrite comme se produisant à la ligne 6 signifie que ce n'est pas la première déclaration dans le lot. Ce qui signifie que vous devez avoir un point-virgule avant le WITH mot-clé:
When a CTE is used in a statement that is part of a batch, the statement before it must be followed by a semicolon.
En outre, à partir Transact-SQL Syntax conventions.
Although the semicolon is not required for most statements in this version of SQL Server, it will be required in a future version.
Il vaut la peine de prendre l'habitude de mettre les points-virgules dans
I Ne pensez pas que vous avez besoin des mots "plus comme" dans "..utilisé plutôt comme une table" car ils ne peuvent être utilisés que comme des tableaux :) +1 pour mettre le point-virgule au début de l'instruction pour éviter les erreurs lorsque le CTE est utilisé dans les déclarations plus importantes. – Tony