Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/05/2010, 02:22
Avatar de triqui
triqui
 
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 5 meses
Puntos: 31
De acuerdo Respuesta: resta entre dos querys

Lo que deberias hacer es algo así, seguramente no te ejecutará, pero unelos por el union y mete todo dentro del from para sacarte los resultados.


Select a.id,ru-ru2,rg-rg2
FROM
(
SELECT a.id,
SUM(c.cantidadD) as ru,
SUM(c.gradosD) as rg
FROM tbl_almacen a
INNER JOIN tbl_movimiento b ON b.id_destino = a.id
INNER JOIN tbl_vale c ON c.id_movimiento = b.id
WHERE (c.id_vendimia = @prVendimia)
AND (c.noSemana < @prSemana)
GROUP BY a.id,a.nombre_contenido,a.unidades,a.grados
UNION
SELECT a.id,
SUM(e.cantidadO) as ru2,
SUM(e.gradosO) as rg2
FROM tbl_almacen a
INNER JOIN tbl_movimiento d ON d.id_origen = a.id
INNER JOIN tbl_vale e ON e.id_movimiento = d.id
WHERE (e.id_vendimia = @prVendimia)
AND (e.noSemana < @prSemana)
GROUP BY a.id,a.nombre_contenido,a.unidades,a.grados
)GROUP BY a.id


Si no te funcionara esto, metele otro nivel:


SELECT t1.ru-t2.ru,t1.rg-t2.rg FROM(
Select ru,rg From(
SELECT a.id,
SUM(c.cantidadD) as ru,
SUM(c.gradosD) as rg
FROM tbl_almacen a
INNER JOIN tbl_movimiento b ON b.id_destino = a.id
INNER JOIN tbl_vale c ON c.id_movimiento = b.id
WHERE (c.id_vendimia = @prVendimia)
AND (c.noSemana < @prSemana)
GROUP BY a.id,a.nombre_contenido,a.unidades,a.grados) t1
UNION
Select ru,rg From(
SELECT a.id,
SUM(e.cantidadO) as ru,
SUM(e.gradosO) as rg
FROM tbl_almacen a
INNER JOIN tbl_movimiento d ON d.id_origen = a.id
INNER JOIN tbl_vale e ON e.id_movimiento = d.id
WHERE (e.id_vendimia = @prVendimia)
AND (e.noSemana < @prSemana)
GROUP BY a.id,a.nombre_contenido,a.unidades,a.grados) t2)

Espero que te oriente.
salu2
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo