Access - Se puede unir JOINS (JOIN) AND (JOIN)??

 
Vista:

Se puede unir JOINS (JOIN) AND (JOIN)??

Publicado por Rafael Gomez (12 intervenciones) el 06/04/2005 22:12:19
Buenos dias a todos. resulta, que he creado una consulta que me estrega un registro de resultados principales, cantidades totalizadas, TotalBodega1 Total bodega2, etc son 5 bodegas.
Ahora para el informe impreso necesito mostrar ese registro... uno por producto, hasta aqui bien, estos totales pueden tener mas de un
detalle, cantidad en proceso, terminada, reservada; estos tambien deben aparacer en el informe, ahora si el problema.
al generar una consulta que consolide todos estos datos, me trae combinaciones que me duplican los registros, me explico
-------------------------------------
bodega3
refPROD LoteTrZF cantidadEK
R3100 ZM13 275.00
R3100 ZB13 300.00
-------------------------------------
bodega4
refPROD LoteReZF cantidadSK
R3100 ZB08 50.00
R3100 ZB08 150.00
-------------------------------------
y en el resultado que me da la consulta aparecen 4 registros en vez de 2:
-------------------------------------
refPROD LoteTrZF cantidadEK LoteReZF cantidadSK
R3100 ZB13 300.00 ZB08 50.00
R3100 ZM13 275.00 ZB08 50.00
R3100 ZB13 300.00 ZB08 150.00
R3100 ZM13 275.00 ZB08 150.00
-------------------------------------
ya he tratado usando DISTINCTROW y DISTINCT haciendo la consulta directa, y haciendo consultas separadas, y luego una consulta final
se me ocurre , se pueden anidar JOIN's ( T1 LEFT JOIN T2 ON T1.COD = T2.COD) AND (T1 LEFT JOIN T3 ON T1.COD=T3.COD)
el sql de la consulta actual es asi : ( T1 LEFT JOIN T2 ON T1.COD = T2.COD) LEFT JOIN T3 ON T1.COD=T3.COD)

Muchas Gracias.
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 Alejandro

Evitar duplicados al consolidar datos de múltiples bodegas en un informe

Publicado por Alejandro (4142 intervenciones) el 30/05/2023 21:36:40
Para evitar los duplicados al consolidar los datos de múltiples bodegas en un informe, puedes utilizar la cláusula DISTINCT en tu consulta. Sin embargo, en tu caso particular, parece que los registros duplicados se deben a que estás combinando diferentes campos (LoteTrZF y LoteReZF) en una misma columna. Para lograr el resultado deseado, puedes utilizar una subconsulta para cada bodega y luego unir los resultados utilizando una cláusula JOIN. Aquí te muestro un ejemplo de cómo puedes hacerlo:

1
2
3
4
5
6
7
8
9
10
SELECT T1.refPROD, T1.LoteTrZF, T1.cantidadEK, T2.LoteReZF, T2.cantidadSK
FROM
    (SELECT refPROD, LoteTrZF, cantidadEK
    FROM T1
    GROUP BY refPROD, LoteTrZF, cantidadEK) AS T1
LEFT JOIN
    (SELECT refPROD, LoteReZF, cantidadSK
    FROM T2
    GROUP BY refPROD, LoteReZF, cantidadSK) AS T2
ON T1.refPROD = T2.refPROD

En este ejemplo, T1 y T2 son las tablas correspondientes a las bodegas 3 y 4 respectivamente. Dentro de cada subconsulta, se utiliza la cláusula GROUP BY para agrupar los registros y evitar duplicados. Luego, se realiza un LEFT JOIN entre las subconsultas utilizando la columna refPROD como clave de unión.

Ten en cuenta que deberás reemplazar T1 y T2 con los nombres reales de tus tablas y ajustar los nombres de columna según corresponda.

Al utilizar esta estructura de consulta, deberías obtener un resultado consolidado sin duplicados en el informe final.

Espero que esta solución te sea útil para resolver tu problema.
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