SQL - consulta con 5 tablas

   
Vista:

consulta con 5 tablas

Publicado por ronald (8 intervenciones) el 13/12/2011 14:37:35
buen dia otra vez solicitando una ayuda realice una consulta con dos tablas producto, ingreso y queria que me mantenga los valores de mi tabla ingreso para eso use el right join y todo ok
PRODUCTO (COD_PROD, NOMBRE, CANTIDAD)
SALIDA (ID,COD_PROD, CANTIDAD, FECHA_SALIDA)

SELECT producto.nombre, Sum(salida.cantidad) AS salida
FROM salida RIGHT JOIN producto ON salida.cod_prod = producto.cod_prod
GROUP BY producto.nombre;


nombre salida
A 9
B
C 17
D 1

trate de ampliar mi consulta a tres tablas (producto, ingreso, salida), la tabla ingreso tiene (id,cod_prod,cantidad,fecha_ingreso) y luego cuatro me funciono pero el resultado que muestra no es el correcto

SELECT nombre, Sum(INGRESO.CANTIDAD) as ingreso Sum(SALIDA.CANTIDAD) as salida
FROM INGRESO RIGHT JOIN (SALIDA RIGHT JOIN PRODUCTO ON SALIDA.COD_PROD = PRODUCTO.COD_PROD) ON INGRESO.COD_PROD = PRODUCTO.COD_PROD
GROUP BY PRODUCTO.NOMBRE;
LOS VALORES DE CANTIDAD MUESTRA OTROS POR EJEMPLO DEL PRODUCTO A 18
A QUE SE DEBERA ESTO A LA ESPERA DE SUS COMENTARIOS
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

consulta con 5 tablas

Publicado por ronald (8 intervenciones) el 13/12/2011 14:43:35
PERDON ACLARANDO PARA LA PRIMERA CONSULTA USO LAS TABLAS PRODUCTO Y SALIDA Y MANTENER LA TABLA PRODUCTO CON SUS VALORES
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

consulta con 5 tablas

Publicado por ronald (8 intervenciones) el 13/12/2011 21:22:47
estuve buscando y encontre algo parecido a o que quiero en
http://www.lawebdelprogramador.com/foros/SQL/1289947-suma_de_compras_y_ventas.html#i1289999

pero no se porque no me funciona en accses abra algunos comandos que no los admite
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

consulta con 5 tablas

Publicado por Michael (1 intervención) el 13/12/2011 22:05:28
Hola, prueba con lo siguiente

SELECT P.NOMBRE, SUM(I.CANTIDAD) AS INGRESO, SUM(S.CANTIDAD) AS SALIDA
FROM PRODUCTO P
LEFT JOIN INGRESO I ON P.COD_PROD = I.COD_PROD
LEFT JOIN SALIDA S ON P.COD_PROD = S.COD_PROD
GROUP BY P.NOMBRE
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

consulta con 5 tablas

Publicado por ronald (8 intervenciones) el 14/12/2011 02:40:45
graia aparentemente esta bien la consulta pero la realiso en access 2007 y no me da me dice error de sintaxis (falta operador) en la expresion p.cod_prod=i.cod_prod left join salida s on p.cod_prod=s.codprod.
sera que el editor de sql de access no admite algunos comandos
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

consulta con 5 tablas

Publicado por ronald (8 intervenciones) el 14/12/2011 15:13:55
ya lo resolvi el problema es que el mysql puedes realizar las consultas omitiendo algunos parentesis pero en access no y era el error lo ice con cuatro tablas y puede ampliarse a mas


SELECT a.nombre, c.ingreso, v.salida,ax.auxiliar
FROM (((producto a
LEFT outer JOIN (
SELECT cod_prod, SUM(cantidad) as ingreso
FROM ingreso GROUP BY cod_prod) c ON c.cod_prod=a.cod_prod)
LEFT outer JOIN (
SELECT cod_prod, SUM(cantidad) as salida
FROM salida GROUP BY cod_prod) v ON v.cod_prod=a.cod_prod)
LEFT outer JOIN (
SELECT cod_prod, SUM(cantidad) as auxiliar
FROM auxiliar GROUP BY cod_prod) ax ON a.cod_prod=ax.cod_prod)
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