| From: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> |
|---|---|
| To: | Alex <alex(at)meerkatsoft(dot)com> |
| Cc: | <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: SELECT Question |
| Date: | 2003-08-31 18:21:20 |
| Message-ID: | 20030831111548.Y94333-100000@megazone.bigpanda.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Mon, 1 Sep 2003, Alex wrote:
> Hi,
>
> I need to form a query where i can add some columns based on the result.
>
>
> Table A
> ColA, ColB
> ----------
> 1 A
> 2 B
> 3 A
>
> Table B
> ColC
> ----
> A
>
> If A exists if would like the result back as
> 1 A OK
> 2 B NG
> 3 A OK
>
> Is it possible to replace the value in the query ?
Maybe something like one of these:
select cola, colb, case when not exists(select 1 from table_b where
table_b.colc=table_a.colb) then 'NG' else 'OK' end
from table_a;
select cola, colb, case when colc is null then 'NG' else 'OK' end
from table_a left outer join table_b on (table_a.colb=table_b.colc);
select cola, colb, case when (select count(*) from table_b where
table_b.colc=table_a.colb)=0 then 'NG' else 'OK' end
from table_a;
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jeffrey Melloy | 2003-08-31 18:28:47 | Re: SELECT Question |
| Previous Message | Stephan Szabo | 2003-08-31 18:15:19 | Re: Quetions on Joins |