pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Luiz K. Matsumura <luiz@planit.com.br>
To: Salman Tahir <salmantahir1@gmail.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: cartesian product
Date: Mon, 19 Feb 2007 15:56:20 -0200
Message-ID: <45D9E4C4.1080304@planit.com.br> (raw)
In-Reply-To: <2049e51a0702190858n6932461dgc294d05b035aad53@mail.gmail.com>
References: <2049e51a0702190858n6932461dgc294d05b035aad53@mail.gmail.com>

Hi, Salman

Maybe this isn't so much elegant, but works:

SELECT p1.sequence as sequence1, p2.sequence as sequence2
FROM potential_pairs p1, potential_pairs p2
WHERE p1.sequence <= p2.sequence

Hope this helps


Salman Tahir wrote:
> Hi,
>
> I have a query regarding an SQL statement I'm trying to execute. I
> have the following table:
>
> sequence
> -------------+
> AK
> AKCMK
> CMKA
>
> I execute the following statement (Cartesian product):
>
> SELECT p1.sequence as sequence1, p2.sequence as sequence2
> FROM potential_pairs p1, potential_pairs p2
>
> which gives me:
>
> sequence1 | sequence2
> ----------------+--------------
> AK           | AK
>  AK           | AKCMK
>  AK           | CMKA
>  AKCMK    | AK
>  AKCMK    | AKCMK
>  AKCMK    | CMKA
>  CMKA      | AK
>  CMKA      | AKCMK
>  CMKA      | CMKA
> (9 rows)
>
> I want to eliminate duplicates and by duplicate I mean a tuple such as
> {AK, CMKA} should be regarded as the same as {CMKA, AK}. So I would
> like the following result:
>
> sequence1 | sequence2
> ----------------+--------------
> AK           | AK
>  AK           | AKCMK
>  AK           | CMKA
>  AKCMK    | AKCMK
>  AKCMK    | CMKA
>  CMKA      | CMKA
>
> Any help would be appreciated.
>
> - Salman
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>       choose an index scan if your joining column's datatypes do not
>       match
>
>

-- 
Luiz K. Matsumura
Plan IT Tecnologia Informática Ltda.




view thread (4+ messages)  latest in thread

Message-ID: <45D9E4C4.1080304@planit.com.br>
Permalink:  ../45D9E4C4.1080304@planit.com.br/
Also on:    postgresql.org/message-id/45D9E4C4.1080304@planit.com.br

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: luiz@planit.com.br, salmantahir1@gmail.com
  Subject: Re: cartesian product
  In-Reply-To: <45D9E4C4.1080304@planit.com.br>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox