Lo primero gracias.
Sí, eso entiendo que es el resultado del LEFT INNER JOIN, pero sin resumir la consulta y a falta de las declaraciones de los parametros, expongo la consulta completa:
Código SQL
[-]
SELECT
Contratos.*
FROM
Contratos
LEFT OUTER JOIN
Clientes LEFT OUTER JOIN TelefonosCli
ON TelefonosCli.CodCli_TelCli = Clientes.CodAut_Cli
ON Clientes.CodAut_Cli = Contratos.CodCli_Con
WHERE
(
( (Contratos.NumCon_Con LIKE '%' + @NumCon_sp + '%' )
AND (Contratos.FecCon_Con >= @FecIniCon_sp AND Contratos.FecCon_Con <= @FecFinCon_sp)
AND (Contratos.FecEnt_Con >= @FecIniEnt_sp AND Contratos.FecEnt_Con <= @FecFinEnt_sp)
AND (Contratos.TipCon_Con LIKE '%' + @TipCon_sp + '%')
AND (Contratos.ExeCon_Con = @ExeCon_sp)
AND (Contratos.MotExe_Con LIKE '%' + @MotExe_sp + '%')
AND (Contratos.Obs2Con_Con LIKE '%' + @Obs2Con_sp + '%')
AND (Contratos.DesPro_Con LIKE '%' + @DesPro_sp + '%')
AND (Contratos.FecAvi_Con >= @FecIniAvi_sp AND Contratos.FecAvi_Con <= @FecFinAvi_sp)
AND (Contratos.TotCon_Con >= @TotConIni_sp AND Contratos.TotCon_Con <= @TotConFin_sp)
AND (Contratos.EntCeg_Con = @EntCeg_sp)
AND (Contratos.EntDis_Con = @EntDis_sp)
AND ((Contratos.ObsCon_Con LIKE '%' + @ObsCon_sp + '%') OR (Contratos.ObsCon_Con IS NULL))
)
AND
((Clientes.TipVia_Cli LIKE '%' + @TipVia_sp + '%')
AND (Clientes.DirCli_Cli LIKE '%' + @DirCli_sp + '%')
AND (Clientes.NumPto_Cli LIKE '%' + @NumPto_sp + '%')
AND (Clientes.NumPta_Cli LIKE '%' + @NumPta_sp + '%')
AND (Clientes.EscCli_Cli LIKE '%' + @EscCli_sp + '%')
AND (Clientes.NomCli_Cli LIKE '%' + @NomCli_sp + '%')
AND (Clientes.DniCli_Cli LIKE '%' + @DniCli_sp + '%')
AND (Clientes.LetCif_Cli LIKE '%' + @LetCif_sp + '%')
AND (Clientes.PobCli_Cli LIKE '%' + @PobCli_sp + '%')
AND (Clientes.CodPos_Cli LIKE '%' + @CodPos_sp + '%')
AND (Clientes.RefCli_Cli LIKE '%' + @RefCli_sp + '%')
AND (Clientes.CodCli_Cli LIKE '%' + @CodCli_sp + '%'))
AND TelefonosCli.NumTel_telCli LIKE '%' + @NumTel_sp + '%'
)
ORDER BY Contratos.TipCon_Con
Esto debería retornar todas las tuplas de la tabla Contratos que cumplen las condiciones del WHERE propias de los Contratos además de que las tuplas del Cliente asociado que cumplan tambien las condiciones del WHERE de los Clientes y el telefono del cliente tambien pase el filtro . Además de todos los Contratos que por estar unidos por el LEFT INNER JOIN no tengan o bien clientes o clientes sin telefono.
¿NO?
Créeme, ójala esté equivocado!!