SQL - Multiplicar valores de 2 tablas diferentes

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 9 puestos en SQL (en relación al último mes)
Gráfica de SQL

Multiplicar valores de 2 tablas diferentes

Publicado por Carlos (2 intervenciones) el 13/12/2018 20:36:47
Hola, soy novato en esto de las consultas SQL y estoy haciendo algunos avances pero estoy atascado en lo siguiente:

Tengo que obtener la cifra del importe total del stock de productos que hay en un almacén pero tengo los datos en 2 tablas diferentes:

- En la primera 'productos' tengo los campos 'id_producto' y 'precio' de cada uno de los productos
- En la segunda 'stock' tengo los campos 'id_producto' y 'cantidad' de cada uno de los productos

Lo que necesito es multiplicar el campo 'cantidad' por el campo 'precio' en cada uno de los productos cuya 'cantidad' sea mayor que 0. Y después sumar el total de los importes para obtener un importe final.

Con la siguiente consulta lo que he conseguido es llegar a sumar los importes de los productos cuya cantidad sea >0 pero no encuentro la forma de multiplicarlo por las unidades relacionandolo con el id _producto

1
2
3
4
SELECT SUM(`precio`) FROM `productos`
INNER JOIN `stock`
ON (`productos`.`id_producto` = `stock`.`id_producto`)
WHERE `stock`.`cantidad`>0

Muchísimas gracias de antemano por vuestra ayuda
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
Imágen de perfil de gilman
Val: 184
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Multiplicar valores de 2 tablas diferentes

Publicado por gilman (103 intervenciones) el 14/12/2018 08:31:52
Creo que lo que necesitas es:
1
2
3
4
SELECT SUM(productos.precio * stock.cantidad) FROM productos
INNER JOIN stock
ON (productos.id_producto = stock.id_producto)
WHERE stock.cantidad>0
Por otro lado acostumbrate a indicar la tabla de la que se refiere el campo, aunque no haya ambiguedad.
No se que motor de base de datos usas, pero los apostrofos en los campos y tablas no son necesarios salvo que el nombre contenga espacios, algo que, por cierto, no es muy recomendable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 9 puestos en SQL (en relación al último mes)
Gráfica de SQL

Multiplicar valores de 2 tablas diferentes

Publicado por Carlos (2 intervenciones) el 14/12/2018 12:09:09
Muchas gracias! Me ha funcionado perfectamente.

Creia que en el SELECT no podía poner campos de las 2 tablas al referirse solamente a la tabla FROM productos y estar antes del INNER JOIN

Ahora le veo mucha más utilidad a lo de relacionar tablas y me parece más fácil que antes. Tomo tu consejo de indicar siempre la tabla y escribiendo sin apóstrofos funciona. La consulta la hago en phpmyadmin y cuando ya me funciona la hago desde un php.

Lo dicho. Gracias!!!
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