Simplificando: Esta sentencia:
Código sql:
Ver originalSELECT
p.Nombre,
p.Edad,
t.Valor1,
h.Valor2
FROM BASE1 p
LEFT OUTER JOIN
BASE2 t ON P.IDB1=t.IDB2 AND t.ValorK='C' AND p.CLIENT=t.CLIENT
LEFT OUTER JOIN
BASE2 h ON t.CLIENT=h.CLIENT AND h.VALORG='H' AND h.VALOR=t.VALOR
Esto devolverá sólo los registros de la primera tabla que tengan coincidencia con los de la segunda, en tanto la segunda tenga concidencias con la tercera, ya que los nulos de la segunda no se usarán para buscar en la última.
En los hechos, esto funcionaría como un INNER JOIN entre la primera y la segunda, con un LEFT JOIN sobre la tercera...