Hola, estoy intentando obtener un resultado que involucra 3 tablas (productos, productosprecios, productosstockmovimientos). Necesito obtener de la tabla
Productos, el campo Codigo, de la tabla
productosprecios el
Precio de
Tipo 1 y el
Precio de
Tipo 2 y aqui lo mas dificil, necesito sumar la
Cantidad de
Tipo 0 y restarle la
Cantidad de
Tipo 1 de la tabla
productosstockmovimientos
El resultado que busco es este
Código:
Codigo PrecioGremio PrecioPublico Stock
3001704 18.36 0 2
Estos son algunos de los campos de las tablas, para el producto con Codigo
3001704
Tabla
productos, para el producto Codigo
3001704
Código:
RecID Codigo
8,%53y#|!!4¢ 3001704
Tabla
productosprecios para el IDProducto
8,%53y#|!!4¢
Código:
RecID IDProducto Precio NroLista
8,%53y$z!!4ƒ 8,%53y#|!!4¢ 18.36 1
8,%53y$|!!4¨ 8,%53y#|!!4¢ 0 2
8,%53y$~!!4l 8,%53y#|!!4¢ 0 3
8,%53y$€!!4¸ 8,%53y#|!!4¢ 0 4
8,%53y$¢!!4µ 8,%53y#|!!4¢ 0 5
8,%53y$£!!4^ 8,%53y#|!!4¢ 0 6
Tabla
productosstockmovimientos para el IDProducto
8,%53y#|!!4¢
Código:
RecID IDProducto IDDeposito IDFiscal Cantidad Tipo
8,(&4fyæ!!#1 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8+&,-5]=!!#÷ 1 0
8,*%,<71!!4m 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8*-:.ha1!!#^ 2 0
8,*%,<`(!!4¿ 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8+&,-5]=!!#÷ 2 1
8,,&11.k!!4i 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8+&,-5]=!!#÷ 1 1
8.(<0=$»!!#< 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8*-:.ha1!!#^ 10 0
8.(<0>6!!!#x 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8*-:.ha1!!#^ 10 1
8.(<0fa¬!!#s 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8*-:.ha1!!#^ 5 0
8.(<0gnc!!#4 8,%53y#|!!4¢ 8,&?5ouƒ!!#< 8*-:.ha1!!#^ 3 1
Esta consulta me funciona, me trae exactamente lo que necesito para el IDProducto
8,%53y#|!!4¢ y para todos los productos de la tabla
productos pero no me parece para nada elegante. Fijense que para la columna Stock, tengo que hacer un SELECT anidado en el sector de columnas de resultado, al comienzo del SELECT principal.
Me pregunto si alguien sabe si se puede hacer a puro JOIN.
Código MySQL:
Ver original , pp1.Precio
AS PrecioGremio
, pp2.Precio
AS PrecioPublico
(
FROM productosstockmovimientos
AS pm2
WHERE pm2.IDProducto
= prod.RecID
AND pm2.Tipo
=1 )
)
FROM productosstockmovimientos
AS pm1
WHERE pm1.IDProducto
= prod.RecID
AND pm1.Tipo
=0 ON prod.RecID
= pp1.IDProducto
ON prod.RecID
= pp2.IDProducto
WHERE prod.Inhabilitado
= 0 AND prod.RecID
= '8,%53y#|!!4¢'
Desde ya muchas gracias!