Consula agrupada por meses de subselects
Publicado por Jesus (12 intervenciones) el 23/11/2017 11:18:03
Hola a todos, con ánimo de seguir aprendiendo y abusando de los conocimientos de los demás, solicito ayuda para resolver una consulta de la que no obtengo los resultados esperados.
Parto de dos tablas cabecerascompras y cabecerasventas ambas contienen la fecha y el total de cada compra y venta respectivamente. El resultado que quiero obtener es el siguiente:

Para ello construyo la siguiente consulta:
SELECT S.Mes,SUM(S.Compras) Compras,SUM(S.Ventas) Ventas FROM
(
Los datos que me devuelve son correctos pero incompletos no se muestran los meses que no hubo movimientos Agosto (vacaciones) y Diciembre no llegamos.

Me gustaría que salieran ambos meses con cero compras y ventas y si es posible los nombres de los meses en español. He intentado date_format(Fecha,'%M') Mes pero salen desordenados ya que April, March, etc alfabeticamente no se corresponden con 04 y 03 respectivamente.
Desde ya agradezco vuestra ayuda.
Saludos.
Parto de dos tablas cabecerascompras y cabecerasventas ambas contienen la fecha y el total de cada compra y venta respectivamente. El resultado que quiero obtener es el siguiente:

Para ello construyo la siguiente consulta:
SELECT S.Mes,SUM(S.Compras) Compras,SUM(S.Ventas) Ventas FROM
(
SELECT date_format(Fecha,'%m') Mes,SUM(Total) Compras,0 Ventas FROM cabecerascompras WHERE YEAR(Fecha)=2017 GROUP BY Month(Fecha)
UNION
SELECT date_format(Fecha,'%m') Mes,0 Compras,SUM(Total) Ventas FROM cabecerasventas WHERE YEAR(Fecha)=2017 GROUP BY Month(Fecha)
) S GROUP BY MesUNION
SELECT date_format(Fecha,'%m') Mes,0 Compras,SUM(Total) Ventas FROM cabecerasventas WHERE YEAR(Fecha)=2017 GROUP BY Month(Fecha)
Los datos que me devuelve son correctos pero incompletos no se muestran los meses que no hubo movimientos Agosto (vacaciones) y Diciembre no llegamos.

Me gustaría que salieran ambos meses con cero compras y ventas y si es posible los nombres de los meses en español. He intentado date_format(Fecha,'%M') Mes pero salen desordenados ya que April, March, etc alfabeticamente no se corresponden con 04 y 03 respectivamente.
Desde ya agradezco vuestra ayuda.
Saludos.
Valora esta pregunta


0