Problemas al intentar ejecutar CTE en SQL Express 2008

24/07/2009 - 23:45 por Javier | Informe spam
Que tal,

He empezado a seguir los ejemplos de un libro, y al intentar hacer algo como
esto:

WITH TopSales(SalesPersonID,TerritoryID,NumberOfSales) AS
(
SELECT SalesPersonID,TerritoryID COUNT(*)
FROM Sales.SalesOrderHeader
GROUP BY SalesPersonID, TerritoryID
)

Me arroja el siguiente error:

" Mens. 102, Nivel 15, Estado 1, Línea 3
Sintaxis incorrecta cerca de '('. "

No tengo idea de que pueda ser, he buscado algo referente a la creación de
CTE, para comprobar la sintaxis y no he localizado aún el error.

Alguna ayuda, por favor.

Gracias

Saludos
Javier Parada
 

Leer las respuestas

#1 Carlos M. Calvelo
25/07/2009 - 07:53 | Informe spam
Hola Javier,

On 24 jul, 23:45, "Javier" wrote:
Que tal,

He empezado a seguir los ejemplos de un libro, y al intentar hacer algo como
esto:

WITH TopSales(SalesPersonID,TerritoryID,NumberOfSales) AS
(
        SELECT SalesPersonID,TerritoryID COUNT(*)



Aquí te falta una coma entre TerritoryID y COUNT(*)


        FROM Sales.SalesOrderHeader
        GROUP BY SalesPersonID, TerritoryID
)



Y aquí tendrás que hacer algo con el TopSales(...) que se define con
el WITH.



Me arroja el siguiente error:

" Mens. 102, Nivel 15, Estado 1, Línea 3
    Sintaxis incorrecta cerca de '('.        "

No tengo idea de que pueda ser, he buscado algo referente a la creación de
CTE, para comprobar la sintaxis y no he localizado aún el error.




Prueba, por ejemplo, así:

WITH TopSales(SalesPersonID,TerritoryID,NumberOfSales) AS
(
SELECT SalesPersonID,TerritoryID, COUNT(*)
FROM Sales.SalesOrderHeader
GROUP BY SalesPersonID, TerritoryID
)
SELECT * FROM TopSales

Saludos,
Carlos

Preguntas similares