Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Omar Lòpez AndracaDate: 2007-04-28 23:01:29
Subject: Re: Consulta multiple en una sola tabla
Previous:From: L.S.C. Zorobabel Vega DíazDate: 2007-04-28 18:45:03
Subject: Re: Union

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group