MySQL - Juntar consultas en una sola

 
Vista:
sin imagen de perfil
Val: 31
Ha aumentado su posición en 3 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Juntar consultas en una sola

Publicado por SARA (21 intervenciones) el 07/08/2018 23:37:23
Como puedo juntar las siguientes consultas en una sola?
la primer consulta muestra mucha cantidad de registros, las otras dos no tantos entonces quiero que se muestren todos los datos de la primera independientemente si las otras dos consultas no tienen todo lleno, el campo en común de las tres es el "producto"

SELECT producto, cantidad
FROM inventarioinicial

SELECT SUM( total )
FROM produccion
GROUP BY producto

SELECT SUM( total )
FROM salidas
GROUP BY producto
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
sin imagen de perfil
Val: 31
Ha aumentado su posición en 3 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Juntar consultas en una sola

Publicado por SARA (21 intervenciones) el 08/08/2018 15:06:17
TENGO ESTA CONSULTA PERO EN LA COLUMNA DE SALIDASOK ME AGRUPA MAL LA SUMA.
NO QUIERO JUNTAR LAS TABLAS EN UNA SOLA, QUIERO QUE ME MUESTRE 4 COLUMNAS
1
2
3
4
5
6
7
SELECT inventarioinicial.producto, inventarioinicial.cantidad, SUM( produccion.total ) AS produccionok, SUM( salidas.total ) AS salidasok
FROM (
inventarioinicial
LEFT OUTER JOIN salidas ON inventarioinicial.producto = salidas.producto
)
LEFT JOIN produccion ON produccion.producto = inventarioinicial.producto
GROUP BY inventarioinicial.producto
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
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Juntar consultas en una sola

Publicado por Leonardo Josué (414 intervenciones) el 08/08/2018 17:34:16
Hola Sara:

supongo que en tu tabla inventarioinicial cada producto aparece una sola vez, pero en tus tablas produccion y salidas puede haber más de un registro, ¿correcto? Si esto es así, entonces para poder hacer los JOIN's primero tienes que CONSOLIDAD tus registros para que en las tablas de producción y salidas EXISTA SÓLO UN REGISTRO POR PRODUCTO. entonces tu cardinalidad pasa de ser de 1 a muchos a una relación 1 a 1

Sería más o menos así:

1
2
3
4
5
6
7
8
9
10
11
12
SELECT T1.producto, T1.cantidad, T2.total_produccion, T3.total_salidas
FROM inventarioinicial T1
LEFT JOIN
( SELECT producto, SUM( total )  total_produccion
  FROM produccion
  GROUP BY producto
) T2 on T2.producto = T1.producto
LEFT JOIN
( SELECT producto, SUM( total ) total_salidas
  FROM salidas
  GROUP BY producto
) T3 on T3.producto = T1.producto;

Haz la prueba y nos comentas.

Saludos
Leo.
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
sin imagen de perfil
Val: 31
Ha aumentado su posición en 3 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Juntar consultas en una sola

Publicado por SARA (21 intervenciones) el 08/08/2018 19:00:43
si me sirvio amigo, pero como lo estoy usando en un juego de registros de dreamweaver me manda un error
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
sin imagen de perfil
Val: 31
Ha aumentado su posición en 3 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Juntar consultas en una sola

Publicado por sara (21 intervenciones) el 09/08/2018 04:31:53
sobre esa misma consulta me podrias ayudar agregando una operacion la cual seria:
(T1.cantidad + T2.total_produccion) - T3.total_salidas = inventario_final
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