Re: consulta

From: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>
To: jhon(dot)carrillo(dot)foros(at)gmail(dot)com
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: consulta
Date: 2005-12-01 18:45:43
Message-ID: BAY113-F201BBF46AABF559493961CE34D0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Mejor una relacion recursiva, NO la funcion!!
No me gusta la recursividad yo la haria con ciclos para evitar eso.
L atabla seria

Codigo Nombre Codigo_jefe

Eso es como las cuentas contables. Este caso esta en todos los libros de BD
como ejemplo de relaciones recursivas

*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas
*-809-747-2787
* " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo
comun"
*-------------------------------------------------------*

>From: "Ing. Jhon Carrillo // Caracas, Venezuela"
><jhon(dot)carrillo(dot)foros(at)gmail(dot)com>
>To: Frank Jonislla <frank(dot)che88(at)gmail(dot)com>, Postgresql
><pgsql-es-ayuda(at)postgresql(dot)org>
>Subject: Re: [pgsql-es-ayuda] consulta
>Date: Wed, 30 Nov 2005 19:47:52 -0400
>
>El 30/11/05, Frank Jonislla<frank(dot)che88(at)gmail(dot)com> escribió:
> >
> > Tengo una tabla de esta manera
> > empleado(cod,nombre, cargo, codigo_jefe)
> > donde el empleado puede ser jefe de varios empleados y este empleado es
>a su
> > vez jefe de otros.
> > lo que deseo es realizar una consulta donde me muestre todos los
> > subordinados de un determinado empleado.
> > ejemplo :
> > cod cod jefe nombre
> > 1 0 frank
> > 2 1 julio
> > 3 2 cesar
> > 4 3 adolfo
> > 5 0 pedro
> > 6 5 arturo
> > 7 6 juan
> > 8 7 felix
> > 9 1 pilar
> >
> > al realizar la consulta de subordinados de frank deveria de figurar
> >
> >
> > cod cod jefe nombre
> > 2 1 julio
> > 3 2 cesar
> > 4 3 adolfo
> > 9 1 pilar
> >
> > les agradesco su ayuda. lo hice con subconsulytas pero solo llego a un
> > determinado nivel
> > algo asi
> > select * from empleado where cod_jefe in (select cod from empleado where
> > cod_jefe =1) union select * from empleado where cod_jefe =1
>
>yo lo haria asi:
>
>debido a que pudiesemos tener N niveles de empleados YO tendría una tabla:
>
>unicamente los empleados:
> empleados (cod, nombre)
>
> cod nombre
> 1 frank
> 2 julio
> 3 cesar
> 4 adolfo
> 5 pedro
> 6 arturo
> 7 juan
> 8 felix
> 9 pilar
>
>
>relaciones entre los empleados (por niveles):
> empleados_relaciones (codjefe,codsubalterno)
>
>codsubalterno codjefe
> 2 1
> 3 2
> 4 3
> 6 5
> 7 6
> 8 7
> 9 1
> 1 0
> 5 0
>
>
>todos los hijos de un padre (todos los hijos de un padre sin importar
>los distante de su relación):
>
> empleados_todas_las relaciones (codjefe,codsubalterno)
>
>codsubalterno codjefe
>
>
> 2 1
> 3 1
> 4 1
> 6 5
> 7 5
>....
>...
>....
>etcccccccccccccccccccccc
>
>algo asi es lo que pienso, si alguien piensa algo mejor me avisa ya
>que me interesa!!!!!
>
>
>suerte
>
>
>
>
> > --
> > .~.
> > ( 0 0 )
> > / V \
> > // \\ Frank Jonislla Pillaca
> > /(( _ ))\ AYACUCHO
> > oo0 0oo 9700982
> >
>
>
>--
>Jhon Carrillo
>DBA / Software Engineer
>Caracas-Venezuela
>
>---------------------------(fin del mensaje)---------------------------
>TIP 5: ¿Has leído nuestro extenso FAQ?
>
> http://www.postgresql.org/files/documentation/faqs/FAQ.html

_________________________________________________________________
¿Cuánto vale tu auto? Tips para mantener tu carro. ¡De todo en MSN Latino
Autos! http://latino.msn.com/autos/

In response to

  • Re: consulta at 2005-11-30 23:47:52 from Ing. Jhon Carrillo // Caracas, Venezuela

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2005-12-01 18:47:40 Re: Particionamiento de tablas
Previous Message Tino Wildenhain 2005-12-01 18:40:07 Re: 15,000 tables