Group By.

11/08/2004 - 02:43 por Manolo Zepeda | Informe spam
Que tal amigos.!!

Tengo el siguiente problema en un Store Procedure.
SELECT C.Id_Chofer, C.Nombre Chofer

FROM Choferes C

LEFT JOIN
(SELECT Embanques.Id_Chofer,convert(char
(1),embanques.Retencion) retencion,
TotalÊSE WHEN convert(char(1),embanques.Retencion) =1
THEN 1 ELSE 2 END from Embanques GROUP BY
Embanques.Id_Chofer,convert(char(1),embanques.Retencion) )E
ON C.Id_Chofer=e.Id_Chofer

Me manda un Error que dice:
"La columna Embanques.Retencion de la lista de seleccion
no es valida, porque no esta contenida en una seccion de
Agregado o en la Clausula GROUP BY".


'= SI LO DEJO DE ESTA FORMA...

SELECT Embanques.Id_Chofer,convert(char
(1),embanques.Retencion) retencion,
TotalÊSE WHEN convert(char(1),embanques.Retencion) =1
THEN 1 ELSE 2 END from Embanques GROUP BY
Embanques.Id_Chofer,convert(char(1),embanques.Retencion)


' FUNCIONA BIEN..

Saludos
 

Leer las respuestas

#1 Liliana Sorrentino
11/08/2004 - 13:49 | Informe spam
Hola Manolo,
En el CASE vas a necesitar una función de agregado, por ej.:
Total=MIN(CASE WHEN convert(char(1),embanques.Retencion) =1 THEN 1 ELSE 2
END)

Imagino que esto es una parte de un query más complejo ¿no?
Saludos... Liliana.

"Manolo Zepeda" escribió en el mensaje
news:3df501c47f3c$32a117c0$
Que tal amigos.!!

Tengo el siguiente problema en un Store Procedure.
SELECT C.Id_Chofer, C.Nombre Chofer

FROM Choferes C

LEFT JOIN
(SELECT Embanques.Id_Chofer,convert(char
(1),embanques.Retencion) retencion,
TotalÊSE WHEN convert(char(1),embanques.Retencion) =1
THEN 1 ELSE 2 END from Embanques GROUP BY
Embanques.Id_Chofer,convert(char(1),embanques.Retencion) )E
ON C.Id_Chofer=e.Id_Chofer

Me manda un Error que dice:
"La columna Embanques.Retencion de la lista de seleccion
no es valida, porque no esta contenida en una seccion de
Agregado o en la Clausula GROUP BY".


'= SI LO DEJO DE ESTA FORMA...

SELECT Embanques.Id_Chofer,convert(char
(1),embanques.Retencion) retencion,
TotalÊSE WHEN convert(char(1),embanques.Retencion) =1
THEN 1 ELSE 2 END from Embanques GROUP BY
Embanques.Id_Chofer,convert(char(1),embanques.Retencion)


' FUNCIONA BIEN..

Saludos

Preguntas similares