gonzao_diaz wrote:
aaah, claro.
Ahora entiendo el problema: ¡estás queriendo hacer un left join a dos "paths" que son "paralelas", al mismo tiempo!
Pégame aquí la definición de las tablas, e internaré ayudarte con una consulta en HQL o Criteria que logre lo que quieres.
Agradezco mucho tu ayuda.
Este es el query que construimos con sql el cual nos retorna lo que necesitamos:
SELECT c.* FROM cliente c, persona_juridica pj
where c.id_persona_juridica is not null and c.id_persona_juridica = pj.id
and (pj.nombre_comercial like '%nombre%' or pj.razon_social like '%nombre%'
or pj.id in (SELECT an.id_personaJuridica FROM acta_nombramiento an, persona_individual pi
where an.id_personaIndividual = pi.id
and (concat(pi.primer_nombre, ' ', pi.segundo_nombre, ' ', pi.primer_apellido, ' ',
pi.segundo_apellido, ' ',
pi.apellido_casada) like '%nombre%')));
pero al pasarlo a hql no obtenemos los resultados que queremos.
Las tablas que intervienen son las siguientes:
cliente
id
id_persona_individual
id_persona_juridica
========
persona_juridica
id
nombre_comercial
razon_social
========
persona_individual
id
primer_nombre
segundo_nombre
primer_apellido
segundo_apellido
apellido_casada
===============
acta_nombramiento (tabla de representantes)
id
id_persona_juridica
id_persona_individual