Hola ejecuto el siguiente script:
$Vistap=mssql_query( "SELECT tb.id_barco
,sdh.id_terminal
,terminales.identificador
,terminales.tipoterm
,terminales.intervalo
,barcos.nombre as barco
,clientes.nombre as cliente
,sdh.fecha_inicio as 'Fecha Inicio'
,sdh.fecha_fin as 'Fecha Fin'
,sdh.mensajes as 'Mensajes Emitidos'
,sdh.teorico as 'Mensajes Teoricos'
,sdh.desvio
,terminalesC_DNID.dnid
,terminalesC_DNID.miembro
,terminalesC_DNID.email
,terminalesC_tx_spool.commandtype
,terminalesC_tx_spool.estado
,terminalesC_tx_spool.fecha
FROM status_datareporting_historico as sdh
INNER JOIN terminales_barcos as tb ON sdh.id_terminal=tb.id_terminal
INNER JOIN terminales
ON sdh.id_terminal=terminales.id
LEFT JOIN barcos
ON tb.id_barco=barcos.id
LEFT JOIN clientes_barcos as cb
ON tb.id_barco=cb.id_barco
LEFT JOIN clientes
ON cb.id_cliente=clientes.id
LEFT JOIN terminalesC_DNID
ON clientes.id=terminalesC_DNID.id_terminal
LEFT JOIN terminalesC_tx_spool
ON clientes.id=terminalesC_tx_spool.id_terminal
WHERE tipoterm = 4 and desvio > 120
and (terminalesC_tx_spool.commandtype = 04
or terminalesC_tx_spool.commandtype = 05)
and sdh.fecha_fin >= DATEADD(day, -1, GETDATE())
and terminalesC_tx_spool.fecha >= DATEADD(day, -3, GETDATE())");
y no me cumple la última condición terminalesC_tx_spool.fecha... en cambio cuando selecciono sólo de la tabla terminalesC_tx_spool con esa condición si que la saca por pantalla correctamente, no se si ocurre que al estar usando otro campo con fecha (sdh.fecha_fin) no sirve la función dateadd o hay algun problema con que los tipos de campo de la tablas sdh.fecha (null) y terminalesC_tx_spool (not null) sean diferentes, ó es que no puedo usar en este caso LEFT JOIN (aunque he usado tambien INNER y RIGHT JOIN), no se no encuentro una solución.
si alguién sabe cuál puede ser el problema me sería de gran ayuda.Gracias