Ayuda Query Trazabilidad Documentos

Buenas tardes

Tengo el detalle en siguiente detalle en cuanto a un Query , Donde el resultado de Horas entre dos fechas requiero restarle un numero

es en esta parte

,datediff(HOUR,T0.[TAXDate] , T5.[TAXDate]) AS horas_Fecha ---------Como hacer aqui si es mayor a 0 el resultado que le reste 24 y si el valor es nulo no reste

Alguien que me pueda apoyar

Gracias

SELECT distinct T0.[DocNum] ‘Pedido’,t0.CANCELED,

                           T0.[CardCode]'SN',
                           T0.[CardName]'NOMBRE',
            
             t5.DocNum 'Factura',
            
                          
                           t3.DocNum 'Entega',
                           t6.DocEntry 'Devolución',

t8.DocNum’NC’,
T0.[CreateDate]‘PED’,
T0.[U_NOSALIDA]‘PED’,
T5.[CreateDate]‘FAC’,
T5.[U_NOSALIDA]‘FAC’,
T3.[CreateDate]‘ENT’,
T3.[U_NOSALIDA]‘ENT’,
T8.[CreateDate]‘NC’,
T8.[U_NOSALIDA]‘NC’
,( 24 -T0.[u_NOsalida]) as DIFHP
, ( 24 -T5.[u_NOsalida]) as DIFHF

,datediff(HOUR,T0.[TAXDate] , T5.[TAXDate]) AS horas_Fecha ---------Como hacer aqui si es mayor a 0 el resultado que le reste 24 y si el valor es nulo no reste

FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
left join INV1 T4 on t4.BaseEntry=t0.DocEntry
left join OINV T5 on t5.DocEntry=t4.DocEntry
LEFT join dln1 T2 on T2.baseentry = t5.docentry
LEFT join odln T3 on T3.docentry = T2.docentry and t2.linenum = T2.baseline
left join RDN1 T6 on t3.docentry = t6.baseEntry
left join RIN1 t7 on t7.BaseEntry = t5.DocEntry
left join ORIN T8 ON t8.DocEntry = t7.DocEntry

WHERE datepart(year,T0.[DocDate]) in (2017,2018) and t0.[CANCELEd] =‘N’ and T0.[docnum] IN (‘17389’ , ‘13936’, ‘17390’)
order by t0.DocNum asc

Hola @Un_Tal_Erik_J
Debes utilizar un CASE en la consulta.
h_tps://community.modeanalytics.com/sql/tutorial/sql-case/

2 Me gusta

ya lo tengo te agradezco la ayuda

solo tengo el siguiente detalle , soy nuevo en las BF

Se creara un campo en UDF para que pueda traer un dato de hora y mi consulta pueda correr

como realizo una busqueda formateada que me de el resultado que da la siguiente consulta

, Convert(varchar(8),GetDate(), 108) HoraServidor

Saludos

SELECT Convert(varchar(8),GetDate(), 108) HoraServidor

2 Me gusta