Query Historico de Precios

Buen día a todos
Tengo un detalle con un Query para obtener un listado de precios con su histórico.
les comento necesito obtener el histórico de precios por cliente y cada uno de sus productos de venta.

El detalle que tengo es que para algunos clientes repite muchas veces los materiales y los precios creo que me falta realizar alguna condición para que esto no suceda pero no encuentro cual sera.

Estoy usando las tablas OSPP, SPP1, OCDR, OITM Y OSLP con sus respectivos JOIN

Para este ejemplo solo tengo dos precios en el Historia y lo repite muchas veces.

Este es el query que estoy usando:

SELECT T2.CardCode "Codigo Cliente", T2.CardName "Nombre de Cliente", T0.ItemCode "Codigo Material", T3.ItemName "Material", ISNULL(T1.Price,T0.Price) "Precio", ISNULL(T1.Currency, T0.Currency) "Moneda", ISNULL(T1.FromDate,T0.CreateDate) "Valido de", ISNULL(T1.ToDate,'99991231') "Valido Hasta", T1.LINENUM "Numero"
FROM OSPP T0
LEFT JOIN SPP1 T1 ON T0.CardCode = T1.CardCode
RIGHT JOIN OCRD T2 ON T0.CardCode = T2.CardCode
INNER JOIN OITM T3 ON T0.ItemCode = T3.ItemCode
INNER JOIN OSLP T4 ON T2.SlpCode = T4.SlpCode 
ORDER BY T2.CardCode, T0.ItemCode

Me pueden ayudar con los duplicados por favor.

Saludos.

Hola @ingharmando, actualmente no tengo una data con información en esas tablas para probar pero podrías intentar modificando tus estos JOIN:

LEFT JOIN OCRD T2 ON T0.CardCode = T2.CardCode
LEFT JOIN OSLP T4 ON T2.SlpCode = T4.SlpCode

Saludos.

Buen día, @JhosserRomero

el primer LEFT que me sugieres lo puedo cambiar pero al momento de hacer eso, ya no tengo todos los clientes relacionados con su material.

Me hacen falta Clientes debido a que en la T0.OSPP es la tabla de materiales con precio. como estoy trayendo todos los que están en T2.OCRD en conjunto con los que estan en T0.OSPP para no cambiar de posiciones las tablas use el RIGHT.

Para el segundo LELFT en la tabla OSLP solo me interesa traerme el Nombre del Agente de ventas, como en la OCRD tengo la clave del Agente y no su nombre por ese motivo uso el INNER.

De cualquier forma gracias por tu ayuda.

saludos.

Disculpa, en definitiva pudiste resolver tu inconveniente?

1 me gusta

Buen dia, @JhosserRomero

Ya pude eliminar los duplicados, tuve que modificar la petición de las tablas.

saludos.

1 me gusta

Hola @ingharmando recuerda marcar como solución la respuesta que más crees que fue de ayuda para resolver tu tema. De ese modo ayudas a que los temas queden bien cerrados en la comunidad.

Si la solución fue otra, puedes compartirla y marcarla como solución, así otras personas con el mismo problema pueden ayudarse con este post.

Saludos.

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.