Consulta de Select Case When

17/08/2005 - 21:37 por Gabriel Parici | Informe spam
Así me da el error detallado más abajo:

SELECT v_Fecha, CASE WHEN v_Importe >= 0 THEN MAX(v_Importe) ELSE
MIN(v_Importe) END AS Venta
FROM t_Ventas
GROUP BY v_Fecha
ORDER BY v_Fecha

Servidor: mensaje 8120, nivel 16, estado 1, línea 1
Column 'v_Importe' is invalid in the select list because it is not contained
in either an aggregate function or the GROUP BY clause.




Así me funciona:

SELECT v_Fecha, MAX(v_Importe) AS Venta
FROM t_Ventas
GROUP BY v_Fecha
ORDER BY v_Fecha


Cuál es la diferencia ?

Muchas gracias de antemano
saludos

Gabriel
 

Leer las respuestas

#1 Maxi
17/08/2005 - 21:42 | Informe spam
Hola, es que asi no puedes hacerlo, veamos una opcion

Select t.v_fecha, CASE WHEN tabla.v_Importe >= 0 THEN t.maximo ELSE
t.minimo END AS Venta

FROM tabla inner join

(SELECT v_Fecha, MAX(v_Importe) as maximo,
MIN(v_Importe) AS minimo
FROM t_Ventas
GROUP BY v_Fecha) t
on

t.v_fecha = tabla.v_fecha
group by tabla.v_fecha



Salu2
Maxi


"Gabriel Parici" escribió en el mensaje
news:
Así me da el error detallado más abajo:

SELECT v_Fecha, CASE WHEN v_Importe >= 0 THEN MAX(v_Importe) ELSE
MIN(v_Importe) END AS Venta
FROM t_Ventas
GROUP BY v_Fecha
ORDER BY v_Fecha

Servidor: mensaje 8120, nivel 16, estado 1, línea 1
Column 'v_Importe' is invalid in the select list because it is not
contained in either an aggregate function or the GROUP BY clause.




Así me funciona:

SELECT v_Fecha, MAX(v_Importe) AS Venta
FROM t_Ventas
GROUP BY v_Fecha
ORDER BY v_Fecha


Cuál es la diferencia ?

Muchas gracias de antemano
saludos

Gabriel

Preguntas similares