Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
ayudita por favor
Enviado por yonathan el día 20 de diciembre de 2005
q tal pasa q tengo dos tablas una que se llama productos q solo tiene dos campos uno es Productos y Stock .....supongamos q tengo un registro Productos=Pantalon Jean Stock=10 ...mi segunda tabla se llama Ingresos y sus campos son Cantidad_ingresos tambien otro campo llamado Producto y otros mas mi problema es q cuando cuando un ingreso a determinado producto por ejemplo hago un ingreso de 5 pantalones jean ....y bueno en mi tabla Productos en el campo Stock ya debo tener 15 Pantalones Jean como ingreso ..aqui biene el problema cuando hago otro ingreso al mismo Pantalon Jean por ejemplo otro ingreso de 10 pantalones mas entonces deberia tener 25 pantalones
por lo q hago esto
SELECT Productos.producto , (stock+cantidad) as nuevo_stock FROM Productos INNER JOIN Ingresos ON Productos.producto=Ingresos.producto;
por lo q mi reporte vota
--Producto Nuevo_stock
--------------- -------------------
Pantalon Jean 15
Pantalon Jean 20
entonces en realidad no tendria 25 como deberia ser sino tengo 35 prendas
ojala me hayan entendido y me puedad explicar q hago mal
SELECT Productos.producto ,
SUM(stock) + SUM(cantidad) as nuevo_stock
FROM Productos INNER JOIN Ingresos ON Productos.producto=Ingresos.producto
GROUP BY 1;
Perdon!!!
Esto tampoco funciona.
No te sirve recoger el valor del stock en una variable y el valor de los ingresos en otra:
SELECT Productos.producto , stock as stock_actual, sum(cantidad) as ingreso
FROM Productos INNER JOIN Ingresos ON Productos.producto=Ingresos.producto
group by 1, 2 ;
JEJEJEJE..
Creo que he dado con la solucion
SELECT Productos.producto ,
max(stock) + sum(cantidad) as nuevo_stock FROM Productos INNER JOIN Ingresos ON Productos.producto=Ingresos.producto
group by 1;