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