pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Dmitri Bichko <dbichko@aveopharma.com>
To: Leif B. Kristensen <leif@solumslekt.org>
To: pgsql-sql@postgresql.org
Subject: Re: Help with a view
Date: Thu, 22 Sep 2005 15:10:42 -0400
Message-ID: <F18A6F7CF1661F46920F2CF713122FED46CCAE@mail.aveo.aveopharma.com> (raw)

I don't understand how this is different:

SELECT person FROM principals
WHERE event IN (SELECT event FROM principals WHERE person = $p AND
tag_type = " .MARR. ")
AND person != $p
ORDER BY sort_date

Or without subselects:

SELECT p1.person
FROM principals p1
JOIN principals p2 USING(event)
WHERE p2 person = $p
	AND p2.tag_type = " .MARR. "
	AND p1.person != $p
ORDER BY sort_date

Am I being confused?

Dmitri

> -----Original Message-----
> From: pgsql-sql-owner@postgresql.org 
> [mailto:pgsql-sql-owner@postgresql.org] On Behalf Of Leif B. 
> Kristensen
> Sent: Thursday, September 22, 2005 2:12 PM
> To: pgsql-sql@postgresql.org
> Subject: Re: [SQL] Help with a view
> 
> 
> On Thursday 22 September 2005 20:03, Dmitri Bichko wrote:
> 
> > SELECT * FROM principals WHERE event = 15821 AND person != 2?
> 
> Sure, that's a concise answer to what I actually wrote, but it wasn't 
> exactly what I intended :)
> 
> Basically, what I've got is the first person and the 
> tag_type. I can do 
> it with a function from PHP:
> 
> function get_spouses($p) {
>     $handle = pg_query("select person from principals
>                        where event in (select event from principals
>                        where person = $p and tag_type = " .MARR. ")
>                        order by sort_date");
>     $i=0;
>     $spouses = array();
>     while ($row = pg_fetch_row($handle) {
>         if $row[0] != $p
>              $spouses[$i++] = $row[0];
>     }
>     return $spouses;
> }
> 
> But this is *ugly* ...
> -- 
> Leif Biberg Kristensen
> http://solumslekt.org/
> 
> ---------------------------(end of 
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
> 
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer



view thread (5+ messages)  latest in thread

Message-ID: <F18A6F7CF1661F46920F2CF713122FED46CCAE@mail.aveo.aveopharma.com>
Permalink:  ../F18A6F7CF1661F46920F2CF713122FED46CCAE@mail.aveo.aveopharma.com/
Also on:    postgresql.org/message-id/F18A6F7CF1661F46920F2CF713122FED46CCAE@mail.aveo.aveopharma.com

 · 

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: dbichko@aveopharma.com, leif@solumslekt.org
  Subject: Re: Help with a view
  In-Reply-To: <F18A6F7CF1661F46920F2CF713122FED46CCAE@mail.aveo.aveopharma.com>

* 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