From: | "Victor Lopez" <d01m01a2000(at)gmail(dot)com> |
---|---|
To: | Omar Lòpez Andraca <elendil(dot)systems(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta multiple en una sola tabla |
Date: | 2007-04-28 19:07:17 |
Message-ID: | ae043d070704281207p227b6dadn4f4577206a79ce48@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 28/04/07, Omar Lòpez Andraca <elendil(dot)systems(at)gmail(dot)com> escribió:
> hola amigos, tengo el siguiente problema, tengo una bd llamada habitantes en
> la cual tengo la tabla denominada habita, la cual tiene los siguientes
> campos:
>
> nohabitante nombre apellidos padre
> madre
> 1 juan perez
> - -
> 2 maria martinez -
> -
> 3 antonio perez martinez 1
> 2
> 4 fernada perez martinez 1
> 2
> 5 pedro lopez
> - -
> 6 pablo lopez martinez 5
> 2
> 7 angel sanchez -
> -
>
> lo que se requiere es hacer una consulta por medio de la cual se realice una
> busqueda que muestre la siguiente estructura:
>
> nohabitante nombre apellidos padre( nombre
> y apellidos) madre( nombre y apellidos)
>
>
> en donde en vez de numeros en la columna padre y madre aparescan sus nombres
> y apellidos, la cuestion es que se requiere hacerce en una sola consulta o
> sentencia sql, hasta el momento no he tenido resultas mas que lo
> basico("SELECT * FROM habita WHERE nombre=' aqui el nombre a buscar';")
>
> despues de eso, se requiere hacer una seleccion de quienes son los primos,
> tios, hermanos....
>
> lo que pasa es que es para un sistemita(si se le puede llamar asi) para la
> formacion de arboles genealogicos..
>
> de antemano les agradesco la ayuda que me pueden proporcionar..
>
> ...Andraka...
>
Para este caso de los padres te servirá.
Para los demás ... no lo se
Lo baso en sincronizar cada subconsulta con el habitante del que se refiere ...
habitante AS h para el hijo, o la hija, (por cierto que también
aparecen los tenidos 'in vitro')
habitante AS p para la subconsulta del padre
habitante AS m para la subconsulta de la madre (por cierto ... se
separó o divorció antes de tener al '6'?)
:-D
++++ código ++++
SELECT h.nohabitante,
h.nombre,
h.apellidos ,
( SELECT p.nombre
FROM habitantes AS p
WHERE p.nohabitante = h.padre) AS nombre_padre,
( SELECT p.apellidos
FROM habitantes AS p
WHERE p.nohabitante = h.padre) AS apellidos_padre,
( SELECT m.nombre
FROM habitantes AS m
WHERE m.nohabitante = h.madre) AS nombre_madre,
( SELECT m.apellidos
FROM habitantes AS m
WHERE m.nohabitante = h.madre) AS apellidos_madre
FROM habitantes AS h;
++++++++++++++
--
----o---( )---o----
Saludos de Victor Lopez Sabio
d01m01a2000(at)gmail(dot)com
--------oooo--------
From | Date | Subject | |
---|---|---|---|
Next Message | Omar Lòpez Andraca | 2007-04-28 23:01:29 | Re: Consulta multiple en una sola tabla |
Previous Message | L.S.C. Zorobabel Vega Díaz | 2007-04-28 18:45:03 | Re: Union |