SQL - Subconsulta agrupada

 
Vista:

Subconsulta agrupada

Publicado por lmiguelonl (2 intervenciones) el 16/01/2008 18:42:10
Buenas tardes a todos, tengo problemas con una consulta que no termina de salirme.

La tabla en cuestion tiene datos de facturas, los campos que me interesan son el almacen el total de ventas y las fechas.

Quiero sacar un listado donde se refleje cada almacen, las ventas en un mes dado o un rango de fechas dado y las ventas de ese mismo mes pero del año anterior.

Esta seria la parte que saca los alamcenes y las ventas del rango de fecha:
SELECT Almacen, SUM(total) as Total,
FROM Ventas
WHERE FechaDocto >= @fechainicial and FechaDocto <= @fechafinal
GROUP BY Almacen

Y esta parte hace lo mismo pero restando un año

SELECT alamacen, SUM(total)
FROM Ventas
WHERE FechaDocto >= DateAdd(year, -1, @fechainicial) And FechaDocto <= DateAdd(year, -1,@fechafinal)
GROUP BY Almacen

Quieria saber como hacerlo todo en la misma consulta, poniendo el segundo SELECT como subconsulta. Lo he probado y no hay manera.

Un saludo y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Subconsulta agrupada

Publicado por Isaias (5072 intervenciones) el 16/01/2008 20:33:30
¿Que base de datos estas manejando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subconsulta agrupada

Publicado por lmiguelonl (2 intervenciones) el 17/01/2008 13:16:12
mmmm no se si entiendo tu pregunta....

pues uso SQL server.

por ahora a lka personas que he preguntado me dicen que no se puede hacer lo que pretendo en una sola consulta, que tendria que hacer 2 y luego en mi aplicacion unir los datos para mostrarlos y demas....

un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Subconsulta agrupada

Publicado por Danilo (1 intervención) el 05/03/2014 23:33:21
Poder usar Union de Selects

SELECT *
FROM T
(SELECT Almacen, SUM(total) as Total,
FROM Ventas
WHERE FechaDocto >= @fechainicial and FechaDocto <= @fechafinal
GROUP BY Almacen

UNION ALL

SELECT alamacen, SUM(total)
FROM Ventas
WHERE FechaDocto >= DateAdd(year, -1, @fechainicial) And FechaDocto <= DateAdd(year, -1,@fechafinal)
GROUP BY Almacen ) AS T
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar