Re: Consulta multiple en una sola tabla

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--------

In response to

Responses

Browse pgsql-es-ayuda by date

  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