Re: Sacar datos de una tabla mientras no existan en otra.

From: Sergio Marcos <sergio(dot)marcos(at)tiscali(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Sacar datos de una tabla mientras no existan en otra.
Date: 2006-03-11 01:34:36
Message-ID: 200603110234.36245.sergio.marcos@tiscali.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El Sábado, 11 de Marzo de 2006 00:37, Pablo Braulio escribió:
> Hola.

Hola.

>
> Necesito ayuda con una consulta que me muestre los datos de una tabla,
> siempre que no figuren en otra tabla que está relacionada.
>
> Tengo estas tablas:
>
> \d departamentos
> Tabla «public.departamentos»
> Columna | Tipo | Modificadores
> -------------+---------+---------------------------------------------------
>--------- id | integer | not null default
> nextval('departamentos_id_seq'::regclass)
> empresa | integer | not null
> nombre | text |
> descripcion | text |
> Índices:
> «departamentos_pkey» PRIMARY KEY, btree (id)
> Restricciones de llave foránea:
> «departamentos_empresa_fkey» FOREIGN KEY (empresa) REFERENCES
> empresas(id) ON UPDATE CASCADE ON DELETE CASCADE
>
> \d depart_personal
> Tabla «public.depart_personal»
> Columna | Tipo | Modificadores
> --------------+---------+--------------------------------------------------
>------------ id | integer | not null default
> nextval('depart_personal_id_seq'::regclass)
> departamento | integer | not null
> usuarios | integer | not null
> Índices:
> «depart_personal_pkey» PRIMARY KEY, btree (id)
> Restricciones de llave foránea:
> «depart_personal_departamento_fkey» FOREIGN KEY (departamento)
> REFERENCES departamentos(id) ON UPDATE CASCADE
> «depart_personal_usuarios_fkey» FOREIGN KEY (usuarios) REFERENCES
> personal(id) ON UPDATE CASCADE
>
> Lo que quiero es sacar el id del departamento mientras este no exista en la
> tabla depart_personal.

Bueno es la primera vez que escribo a la lista y no soy un experto, pero he
probado esto y si te he entendido bien creo que funciona...

SELECT id FROM departamentos EXCEPT SELECT departamento FROM depart_personal;

No se si será la mejor apcion pero espero que te sirva.
>
> ¿Alguien me puede ayudar?. No encuentro la sintaxis adecuada.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2006-03-11 04:00:26 Re: ejecutar funcion de cursor dentro de otra
Previous Message Alvaro Herrera 2006-03-11 01:21:49 Re: Sacar datos de una tabla mientras no existan en otra.