ok , muchas gracias por las diferentes soluciones, "EXCEPT", sabia que lo habia leido pero no lo recordaba

El 10/08/2017 a las 20:46, Hugo Germigniani - ProfInd escribió:
A lo mejor esta imagen te puede ayudar.-

*De:*Anthony Sotolongo [mailto:[email protected]]
*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 <[email protected]
    <mailto:[email protected]> <mailto:[email protected]>
    <mailto:[email protected]>> 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


Reply via email to