Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Join A to B via AB where AB may or may not join
On Dec 15, 5:03 am, "cc" <chris.colclo..._at_nospam.jhuapl.edu> wrote:
> SELECT *
>
> FROM TABLE_AB AB
>
> WHERE EXISTS (
>
> SELECT AB.A
>
> FROM TABLE_A
>
> WHERE AB.A = TABLE_A.A)
>
> UNION
>
> SELECT A, B
>
> FROM TABLE_A, TABLE_B
>
> WHERE NOT EXISTS (
>
> SELECT A, B
>
> FROM TABLE_AB
>
> WHERE TABLE_A.A = TABLE_AB.A)
>
> ORDER BY 1,2
>
Another solution may be as following.(Not tested.)
SELECT A.a
, COALESCE(AB.b, B.b) AS b
FROM Table_A A
LEFT OUTER JOIN Table_AB AB ON AB.a = A.a LEFT OUTER JOIN Table_B B ON AB.a IS NULL;Received on Sat Dec 15 2007 - 08:59:31 CST
![]() |
![]() |