RE: lo que se queda fuera de un join

From: "Hugo Germigniani - ProfInd" <hugo(at)profind(dot)com(dot)ar>
To: "'Anthony Sotolongo'" <asotolongo(at)gmail(dot)com>, "'Kernel'" <jucabapa(at)gmail(dot)com>, "'Ayuda'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: lo que se queda fuera de un join
Date: 2017-08-10 18:46:31
Message-ID: 001e01d31208$fbdf4c70$f39de550$@profind.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

A lo mejor esta imagen te puede ayudar.-

De: Anthony Sotolongo [mailto:asotolongo(at)gmail(dot)com]
Enviado el: jueves, 10 de agosto de 2017 15:44
Para: Kernel; Ayuda
Asunto: Re: lo que se queda fuera de un join

Como te comentamos puedes utilizar las opciones del JOIN -> LEFT,RIGHT, etc. y con ellas vas armando tu query, en tu caso como solo quieres obtener los de t1 que no están e t2 con poner t2.num is null en el where vas a obtener el resultado

SELECT * FROM t1 left JOIN t2 ON t1.num = t2.num where t2.num is null;

Saludos

PD: existen otras formas de obtener un resultado similar, EXCEPT o alguna Subquery Expressions: https://www.postgresql.org/docs/current/static/functions-subquery.html

On 10/08/17 13:50, Kernel wrote:

Voy a intentar explicarme con un ejemplo, necesito sacar todas aquellas filas de t1, que no estan en t2.
Podría hacerlo con un 't1.num not in (select ....', pero lo necesito para un caso bastante mas complejo.

tabla t1

num | name
-----+------
1 | a
2 | b
3 | c

tabla t2

num | value
-----+-------
1 | xxx
3 | yyy
5 | zzz

SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num;
num | name | num | value
-----+------+-----+-------
1 | a | 1 | xxx
3 | c | 3 | yyy

Lo que quiero obtener :

num | name | num | value
-----+------+-----+-------
2 | b | |

Creo recordar que una vez vi algo en el manual

Gracias

El 10/08/2017 a las 19:19, Emanuel Calvo escribió:

{LEFT|RIGHT} OUTER JOIN ?

LInk https://www.postgresql.org/docs/9.6/static/tutorial-join.html

El 10 de agosto de 2017, 13:55, Kernel <jucabapa(at)gmail(dot)com <mailto:jucabapa(at)gmail(dot)com> <mailto:jucabapa(at)gmail(dot)com>> escribió:

Hola,

me suena que hay una forma de obtener los registros que se han
quedado fuera de un join, estoy buscando en el manual pero no
consigo verlo,
¿me podéis dar una pista para buscar el el manual?

Gracias

--
--
Emanuel Calvo
Sr. Technical Services at Percona
Team Building at Ayres.io

Attachment Content-Type Size
visual_sql_joins_orig.jpg image/jpeg 143.9 KB

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo 2017-08-10 18:47:21 Re: lo que se queda fuera de un join
Previous Message Anthony Sotolongo 2017-08-10 18:43:51 Re: lo que se queda fuera de un join