On 2014-10-27 15:13, Matheus de Oliveira wrote:
Agora está mais claro. Vamos lá, supondo a tabela "dados(a int, b
int)", se não me enganei em algo, a seguinte consulta trará o
resultado esperado:

    WITH elements(a,b) AS (
        SELECT DISTINCT least(a, b), greatest(a, b)
        FROM dados
    )
    SELECT e1.* FROM elements e1
    WHERE NOT EXISTS(SELECT 1 FROM elements e2 WHERE e1.a = e2.b);

     a |   b
    ---+-------
     5 | 12842
     5 | 62410
     5 | 62409
    (3 rows)

Verifique em seus dados se atingem o resultado esperado.

Perfeito! Passei de 82978 resultados para 21407 esperados.

Muito obrigado!

Eloi
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a