Ayuda con un query en generador de consultas

Hola, necesito un poco de ayuda con el siguiente tema:

Estoy creando un query en el generador de consultas de SAP B1, el cual debe mostrar todas las ODV(Oportunidades de venta) asociadas a sus respectivas cotizaciones.
El problema es que … en una ODV puede haber más de una cotización.
Esto ocasiona que al momento de mostrar los resultados, los registros de ODV se duplican según la cantidad de cotizaciones que están asociadas.
Para efectos del reporte, debería obtener solo la última cotización asociada a la ODV para que sólo muestre un registro por cada ODV consultada.

A continuación dejo el query:

DISTINCT T0.[OpprId], T1.[DocNumber],  T2.[Descript], T0.[MaxSumLoc], T1.[ClosePrcnt], T3.[Descript], T0.[Status], T1.[OpenDate], T1.[CloseDate], T4.[SlpName], T5.[ItmsGrpNam], T6.[CardName]

OOPR T0
INNER JOIN OPR1 T1 ON T0.[OpprId] = T1.[OpprId] 
INNER JOIN OOFR T2 ON T0.[Reason] = T2.[Num] 
INNER JOIN OOST T3 ON T0.[StepLast] = T3.[Num]
INNER JOIN OSLP T4 ON T0.[SlpCode] = T4.[SlpCode] 
INNER JOIN OOPR T6 ON T0.[CardCode] = T6.[CardCode],
OITB T5

T0.[Status] =[%0] AND  T5.[ItmsGrpNam] =[%1]

1

Hola @ffoncea_TI de pronto hice algo así, espero te sea de ayuda, prueba y me avisas:

SELECT DISTINCT T0.OpprId,T1.DocNumber,T2.Descript,T0.MaxSumLoc,T1.ClosePrcnt,T3.Descript,T0.Status,
T1.OpenDate,T1.CloseDate, T4.SlpName,T5.ItmsGrpNam, T6.CardName FROM OOPR T0
INNER JOIN (
SELECT DISTINCT T0.OpprId,ISNULL(MAX(T1.Line),0) LINEA FROM OOPR T0
INNER JOIN OPR1 T1 ON T0.OpprId=T1.OpprId
INNER JOIN OOFR T2 ON T0.Reason=T2.Num
INNER JOIN OOST T3 ON T0.StepLast=T3.Num
GROUP BY T0.OpprId
) AS X ON T0.OpprId=X.OpprId 
INNER JOIN OPR1 T1 ON T0.OpprId = T1.OpprId AND ISNULL(T1.Line,0)=X.LINEA
INNER JOIN OOFR T2 ON T0.Reason = T2.Num
INNER JOIN OOST T3 ON T0.StepLast = T3.Num
INNER JOIN OSLP T4 ON T0.SlpCode = T4.SlpCode
INNER JOIN OOPR T6 ON T0.CardCode = T6.CardCode,
OITB T5
WHERE t0.Status=[%0] and t5.ItmsGrpNam='[%1]'
ORDER BY T0.OpprId

1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.