Hola tengo una sentencia , pero no me esta funcionando correctamente, lo que busco es filtrar facturas con una rango de fecha y hora de un día anterior , la idea que se filtro por la cancelación del documento , ya ese tema lo tengo pero no se por que cuando filtro en un rango de 13:00 de la tarde de una día anterior a las 12:00 del dia de hoy me trae todas las facturas del día anterior, les comparto mi query
select distinct t4.“Hora”,T0.“NumAtCard”,T0.“DocEntry”,T0.“DocDate”,T2.“CardName”,T3.“U_NAME”,T0.“DocTotal”
from OINV T0
Inner join INV1 T1 on T1.“DocEntry”=T0.“DocEntry”
INNER JOIN OCRD T2 ON T2.“CardCode”=T0.“CardCode”
inner join OUSR T3 ON T3.“USERID” = T0.“UserSign”
inner join (
select T0."CreateDate",T0."DocEntry",T0."ObjType",T0."CANCELED",T3."U_NAME",T0."DocTime" AS "Hora" from OINV T0
INNER JOIN NNM1 T1 ON T1."Series" = T0."Series"
inner join OUSR T3 ON T3."USERID" = T0."UserSign"
where T1."Series"=110 and T0."CreateDate" BETWEEN [%0] AND [%1]
Union all
select T0."CreateDate",T0."DocEntry",T0."ObjType",T0."CANCELED",T3."U_NAME",T0."DocTime" AS "Hora" from OINV T0
INNER JOIN NNM1 T1 ON T1."Series" = T0."Series"
inner join OUSR T3 ON T3."USERID" = T0."UserSign"
where T1."Series"=110 and T0."DocTime" BETWEEN [%2] AND [%3]
GROUP BY T0.“CreateDate”,T0.“DocEntry”,T0.“ObjType”,T0.“CANCELED”,T3.“U_NAME”,T0.“DocTime”
)T4 ON T4.“DocEntry”=T1.“TrgetEntry” AND T4.“ObjType”=T1.“TargetType”
order by T0.“NumAtCard”