Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2012, 10:44
PC200
 
Fecha de Ingreso: febrero-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
Restar dos campos de dos tablas que no están relacionadas

Buenas tardes por favor necesito una ayuda:
tengo estas tres tablas

inventario
id
productos_id
cantidad
entrada_salida

productos
nombre
marca
modelo
especificacion
precio

proformas_has_productos
productos_id
cantidad
fecha
total

lo que necesito es saber como retar los campos de inventario.cantidad - proformas_has_productos.cantidad

lo que hice fue esto:


(
SELECT productos.id, SUM( cantidad * entrada_salida ) AS TOTAL
FROM inventario
INNER JOIN productos ON inventario.productos_id = productos.id
WHERE 1
GROUP BY productos_id
)
UNION ALL (

SELECT productos.id, proformas_has_productos.cantidad
FROM proformas_has_productos
INNER JOIN productos ON proformas_has_productos.productos_id = productos.id
WHERE 1
GROUP BY productos_id
)
esto me devuelve

id TOTAL
1 37
2 20
3 35
4 77
6 15
3 25

ahora lo que quisiera es como restar las cantidades por ejemplos id3 35 - id3 25 sucesivamente si existe con todos de esa manera

otra forma que queria hacer era
SELECT SUM(TOTAL)
FROM (
SELECT productos.id, SUM( cantidad * entrada_salida ) AS TOTAL
FROM inventario
INNER JOIN productos ON inventario.productos_id = productos.id
WHERE 1
GROUP BY productos_id
UNION ALL
SELECT productos.id, SUM((proformas_has_productos.cantidad)*(-1)) AS TOTAL
FROM proformas_has_productos
INNER JOIN productos ON proformas_has_productos.productos_id = productos.id
WHERE 1
GROUP BY productos_id
)
pero me sale error
#1248 - Every derived table must have its own alias
por favor necesito una ayuda con esto por favor