
Evitar plano cartesiano
Publicado por Jorge (1 intervención) el 25/08/2014 20:31:31
Hola buen día
Solicito de su ayuda con lo siguiente:
Estoy realizando un join para tres tablas con un amarre jerárquico
SELECT COUNT(DISTINCT A.Pedido), SUM(A.Cantidad),COUNT(DISTINCT B.Pedido),SUM(B.Cantidad),COUNT(DISTINCT C.Pedido),SUM(C.Cantidad)
FROM TABLA1 A
INNER JOIN TABLA2 B
ON A.unidadnegocio=B.unidadnegocio
AND A.Pedido=B.pedido
AND A.Articulo=B.Articulo
AND A.NoLine=B.NoLine
INNER JOIN TABLA3 C
ON B.unidadnegocio=C.unidadnegocio
AND B.Pedido=C.pedido
AND B.Articulo=C.Articulo
AND B.NoLine=C.NoLine
Pero en mi tabla base se repiten algunas líneas por lo que el resultado de mi otras dos tablas genera un producto cartesiano y me muestra una cantidad mayor. Me podrían con este problema por favor
Solicito de su ayuda con lo siguiente:
Estoy realizando un join para tres tablas con un amarre jerárquico
SELECT COUNT(DISTINCT A.Pedido), SUM(A.Cantidad),COUNT(DISTINCT B.Pedido),SUM(B.Cantidad),COUNT(DISTINCT C.Pedido),SUM(C.Cantidad)
FROM TABLA1 A
INNER JOIN TABLA2 B
ON A.unidadnegocio=B.unidadnegocio
AND A.Pedido=B.pedido
AND A.Articulo=B.Articulo
AND A.NoLine=B.NoLine
INNER JOIN TABLA3 C
ON B.unidadnegocio=C.unidadnegocio
AND B.Pedido=C.pedido
AND B.Articulo=C.Articulo
AND B.NoLine=C.NoLine
Pero en mi tabla base se repiten algunas líneas por lo que el resultado de mi otras dos tablas genera un producto cartesiano y me muestra una cantidad mayor. Me podrían con este problema por favor
Valora esta pregunta


0