19/03/2010, 14:51
|
| | Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 8 meses Puntos: 0 | |
Duda con cunsulta Hi, tengo un problema con una consulta, la cosa es que tengo una tabla persona_residencia que tiene un idpais que esta en otra tabla nom_pais, y tengo otra tabla persona_nacimiento que tambien tiene un idpais. En la consulta necesito las dos denominaciones del pais que esta en nom_pais, pero puedo hacer un solo inner join para unir nom_pais, suponiendo que lo una con residencia a la hora de poner en el select la denominacion la tengo que poner dos veces la de residencia y la de nacimiento(nom_pais.denominacion), y por supuesto devuelve solo el pais que esta en residencia dos veces. De que manera puedo hacer esto, si se puede diferenciar las denominaciones que vienen de la misma tabla, si hay otra forma de hacer el inner join o si las relaciones hay que hacerla de otra manera porque en realidad se me acabaron las ideas. Gracias de antemano chaoo.
Por ejemplo tengo las siguientes tablas:
persona(idpersona, etc)
persona_nacimiento(idpersonanacimieento, idpersona, idpais, etc)
persona_residencia(idpersonaresidencia, idpersona, idpais, etc)
pais(idpais, denominacion )
Entonces lo que quiero entre otras cosas es la denominacion del pais de residencia y la denominacion del paias de nacimiento, la consulta como la tengo es:
select
p.denom as paisresidencia,
p.denom as paisnacimiento
(entre otros datos)
from persona ps
inner join personaresidencia pr on ps.idpersona = pr.idpersona
inner join personanacimiento pn on ps.idpersona = pn.idpersona
(y aqui es cuando viene el problema, a la hora de unir pais le puedo hacer inner join con una sola tabla
por ejemplo)
inner join pais on pr.idpais = p.idpais
y la consulata devuelve la misma denominacion, la del pais de residencia, alguna idea de como obtener lo que quiero la denominacion del pais de residencia y la del pais de nacimiento??
Última edición por tatica; 20/03/2010 a las 06:36 |