SELECT T0."CardCode", T0."CardName", T0."DocNum", T0."DocDate", T0."DocTime", T0."U_LD_Hora1"
FROM OINV T0
Necesito unirlos para que me genere un solo reporte y ver la trastrabillad de las horas desde que se crea la orden, se alista el pedido se factura y entrega si lo hago así como esta separados se aproxima a lo que busco pero quisiera unirlos para generar uno solo.
Hola. Tengo entendido que para usar el UNION ALL es necesario que sea exactamente igual la consulta, prueba colocando los mismos valores en las 3 consultas.
Casi todas las tablas de los documentos de marketing tienen los mismos campos incluso si creas un campo definido por el usuario este se coloca en todos los documentos. En caso que no contenga ningún valor el campo en el documento donde realizas la consulta te mostrará en NULL.
SELECT T0.“CardCode”, T0.“CardName”, T0.“DocNum”,T0.“DocDate”, T0.“DocTime”
FROM ORDR T0 union all SELECT T1.“CardCode”, T1.“CardName”, T1.“DocNum”, T1.“DocDate”, T1.“U_LD_Respons1”, T1.“U_LD_Clase1”, T1.“DocTime”
FROM ODLN T1 union all SELECT T2.“CardCode”, T2.“CardName”, T2.“DocNum”, T2.“DocDate”, T2.“DocTime”, T0.“U_LD_Hora1”
FROM OINV T2
@LuiskSiles efectivamente, ese es el problema por el cual no muestra nada tienes que tener la misma cantidad de campos con lo que ha dicho Miguel se resolverá tu problema.
SELECT T0."CardCode", T0."CardName", T0."DocNum",T0."DocDate", T0."DocTime" , T0."U_LD_Respons1", T0."U_LD_Clase1", T0."U_LD_Hora1"
FROM ORDR T0
UNION ALL
SELECT T0."CardCode", T0."CardName", T0."DocNum", T0."DocDate", T0."U_LD_Respons1", T0."U_LD_Clase1", T0."DocTime", T0."U_LD_Hora1"
FROM ODLN T0
UNION ALL
SELECT T0."CardCode", T0."CardName", T0."DocNum", T0."DocDate", T0."DocTime", T0."U_LD_Hora1" , T0."U_LD_Respons1", T0."U_LD_Clase1"
FROM OINV T0
Si yo ejecuto la consulta sin los campos definidos por el usuario me muestra la información. Aunque para serte sincero no me gusta como se presenta la información.
Hola @LuiskSiles, la forma en que lo estas realizando es buena, te muestro la forma en la que yo la realizaría, a mi punto de vista es mas cómoda. Te adjunto el script colocale los campo que necesites y nos cuentas como te fue.
Select 'Orden de Venta'[Tipo Documento], T0.DocNum, T0.CardName, T1.ItemCode, T1.Dscription,
'Entrega de Venta'[Tipo Doumento Destino], T3.DocNum, T3.CardName, T2.ItemCode, T2.Dscription,
'Facturas de venta'[Tipo Doumento Destino], T5.DocNum, T5.CardName, T4.ItemCode, T4.Dscription
From ORDR T0 Inner join -- Encabezado de Orden de venta
RDR1 T1 on T0.DocEntry = T1.DocEntry Inner Join --Detalle de Orden de venta
DLN1 T2 on T1.DocEntry = T2.BaseEntry and T1.LineNum = T2.BaseLine inner join --Detalle Entrega de venta
ODLN T3 on T2.DocEntry = T3.DocEntry inner join -- Encabezado Entrega de venta
INV1 T4 on T2.DocEntry = T4.BaseEntry and T2.LineNum = T4.BaseLine and T2.ItemCode = T4.ItemCode inner join --Detalle de la Factura de venta
OINV T5 on T4.DocEntry = T5.DocEntry
Where T0.DocNum = '86544' -- Este filtro lo puedes cambiar por fechas o el campo que necesites filtrar
hola @LuiskSiles, en el Where quita T0.DocNum = ‘86544’ y coloca T0.DocDate >=‘20190101’ ,
y cuentanos como te va.
No te muestra nada porque esta haciendo un filtro por numero de documento, que yo coloque y el numero 86544 no existe en tu base de datos en las OV pero colocale que te indico y vuelve a probar.
pero hay un dilema la columna donde me muestra la hora me esta mostrando todo en linea y no separado por la columna por ejemplo me esta mostrando en la misma columna la hora de creación de orden de venta la hora de alisto y la hora de la creacion de la factura existira forma de separarlo???