Ayuda con query (datos pesos)

Hola expertos tengo un problema y no he podido solucionarlos, necesito un reporte de incluya el peso del producto, que seria Orden de venta, Entrega de venta, Factura de venta y Factura Reserva venta, ya logre obtener la información de los primeros tres pero cuando se trata de la Factura de Reserva venta no muestra el valor del Peso me muestra null, podría ser un problema en la relación de las tablas pero ya intente hacerlo de varias formas pero, o no me muestra información de nada solo me muestra la información que tiene y excluye la Factura de reserva.

Espero me haya dado a enteder, adjunto el script que me muestra la informacion pero cuando es factura reserva no me muestra el peso pero la demas informacion si.

Select Distinct T0.CardCode, T0.CardName, T0.docnum 'No. Orden', T0.docdate 'Fecha Orden', T0.DocTotal 'Total Orden', Sum(T1.Weight1)[Peso OV]
	,Sum(T2.U_Peso_real)[Peso Entrega]
	,T4.U_DoctoNo[# Factura]
	,Sum(T3.U_Peso_real)[Peso Factura]
	,T1.DocDate[Fecha Factura]
	,T0.DocTotal[Total Factura]
	,T0.Comments[Comentarios Factura]
	,case T4.isIns when 'N' then 'Factura Normal' else 'Factura Reserva' end [Tipo factura]	
	From ORDR T0																		-- Encabezado Ordenes de Venta 
		 inner join RDR1 T1 on T0.DocEntry = T1.DocEntry								-- Detalle Ordenes de Venta
		  left join DLN1 T2 on T1.DocEntry = T2.BaseEntry and T1.LineNum = T2.BaseLine	-- Detalle Entrega de Ventas
		  left join INV1 T3 on T2.DocEntry = T3.BaseEntry and T1.LineNum = T3.BaseLine	-- Detalle Factura de ventas
		  left join OINV T4 on T3.DocEntry = T4.DocEntry								-- Encabezado Facturas de ventas
Where T0.DocDate >= '20181002' and T0.DocDate <= '20181002'
	  T0.CardCode like 'CLIE0=%%' and T0.CANCELED ='N' 
group By T0.CardCode, T0.CardName, T0.docnum, T0.docdate, T0.DocTotal, T1.DocDate, T4.U_DoctoNo,T0.Comments, T4.isIns, T0.CANCELED
Order By T0.docnum

image

Agradeciendo su ayuda

Saludos

Hola @CJPG
La consulta como las tienes en este momento funciona solo para las facturas basadas en entregas (left join INV1 T3 on T2.DocEntry = T3.BaseEntry ), como la factura de reserva no cumple esta condición, no es tenida en cuenta.
Lo que debes hacer es otra consulta con los JOINS ajustados para mostrar solo las facturas de reserva y luego realizar un UNION, con tu consulta actual.

Andres Ramirez Jaramillo :colombia:

3 Me gusta

Adicionalmente en los campos de valor trata de usar la función ISNULL, para que tu suma no se vuelva Nula, por algún valor nulo.

Saludos,

1 me gusta

Hola amigos las dos respuestas fueron acertadas gracias por la ayuda y por tiempo.

Saludos