Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/11/2010, 10:32
danielovik
 
Fecha de Ingreso: noviembre-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 1
De acuerdo Respuesta: Group by Meses y Años

Hola Huesos,
antes de nada, gracias por el esfuerzo de responder tantas preguntas, es de agradecer.

Finalmente lo solucioné así:

Código SQL:
Ver original
  1. SELECT Fech,TotalVenta
  2. FROM
  3. (
  4. SELECT to_char(Fecha,'TMMon-yyyy') AS Fech,to_char(Fecha,'yyyy-mm') AS AnioMes,SUM(Venta) AS TotalVenta
  5. FROM Ventas
  6. WHERE Ventas.Fecha BETWEEN '01/01/1900' AND '31/12/2100'
  7. GROUP BY Fech
  8. ORDER BY AnioMes
  9. ) AS X

Probando tu solucion me sigue saliendo el error:
ERROR: la columna «ventas.fecha» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación.

Lo gracioso es que si a la hora de ordenar pones el mismo formato que estas obteniendo en el select funciona.

Código SQL:
Ver original
  1. SELECT
  2.       to_char(Fecha,'TMMon-yyyy') AS fech,
  3.       SUM(Venta)
  4.       FROM Ventas
  5.       WHERE Ventas.Fecha BETWEEN '01/01/1900' AND '31/12/2100'
  6.       GROUP BY fech
  7.       ORDER BY to_char(Ventas.Fecha,'TMMon-yyyy')

Pero no es lo que quiero.
Así que al final opte por la select anidada.

Un saludo, hasta otra y gracias nuevamente.