pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruno Wolff III <bruno@wolff.to>
To: C F <tacnaboyz@yahoo.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: SQL Help
Date: Fri, 30 May 2003 11:30:40 -0500
Message-ID: <20030530163040.GA22409@wolff.to> (raw)
In-Reply-To: <20030530154703.37238.qmail@web20415.mail.yahoo.com>
References: <20030530154703.37238.qmail@web20415.mail.yahoo.com>

On Fri, May 30, 2003 at 08:47:03 -0700,
  C F <tacnaboyz@yahoo.com> wrote:
> Hello,
> I already tried this same basic question with no response....  maybe I was too wordy.  So here it is simplified.... what's the best way to write this query?  I'm open to using stored procedures, but even then I don't know how I would conditionally populate a resultset (refcursor).  Notice that in the first three cases, the expression is the exact same, only the return value is different.  This seems inefficient....
>  
> 
> select 
>   (case when column1 = column2 then column3 end) as alias1,
>   (case when column1 = column2 then column4 end) as alias2,
>   (case when column1 = column2 then column5 end) as alias3,
>   (case when column6 = column7 then column8 end) as alias4
> from
>   mytable
> ;

That seems pretty efficient. I wouldn't expect the repeated column1 = column2
tests to add much overhead. Unless there is more to the story this looks
to be what you want to do.



view thread (9+ messages)  latest in thread

Message-ID: <20030530163040.GA22409@wolff.to>
Permalink:  ../20030530163040.GA22409@wolff.to/
Also on:    postgresql.org/message-id/20030530163040.GA22409@wolff.to

 · 

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: bruno@wolff.to, tacnaboyz@yahoo.com
  Subject: Re: SQL Help
  In-Reply-To: <20030530163040.GA22409@wolff.to>

* 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