Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Help with dynamic case select?

Re: Help with dynamic case select?

From: Dieter Noeth <dnoeth_at_gmx.de>
Date: Tue, 23 Oct 2007 09:29:09 +0200
Message-ID: <ffk7ru$lgb$02$1@news.t-online.com>


kimberly.shaffer_at_gmail.com wrote:

> select ta.field_name1,
> CASE ta.fieldname2
> select tb.fieldname2, tb.fieldname3 from TBL_b tb
> when ta.fieldname2 = tb.fieldname2 then tb.fieldname3
> else 'unknown, please look up'
> end as "Field_Name"
> from
> TBL_a ta
> ;
>
> I am trying to pull a case select statement without having to type a
> long huge when...else statement. Thanks!
> Is this possible? Can someone point me towards what to look for?

Your CASE is hard to understand, but there's probably a shortcut for it, COALESCE:
COALESCE((select tb.fieldname3 from TBL_b tb

           where ta.fieldname2 = tb.fieldname2)
         , 'unknown, please look up') as "Field_Name"

or write an Outer Join:
select

   ta.field_name1,
   coalesce(tb.fieldname3, 'unknown, please look up') as "Field_Name" from TBL_a ta left join TBL_b tb
on ta.fieldname2 = tb.fieldname2

Dieter Received on Tue Oct 23 2007 - 02:29:09 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US