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

Home -> Community -> Mailing Lists -> Oracle-L -> Re: SQL problem: retrieve child records if existent

Re: SQL problem: retrieve child records if existent

From: Stephane Faroult <sfaroult_at_oriole.com>
Date: Thu, 31 May 2001 12:18:20 -0700
Message-ID: <F001.00316934.20010531121523@fatcity.com>

Helmut Daiminger wrote:
>
> Hi!
>
> I have a SQL problem here, which I can't solve.
>
> I have a B-tree structure in a table (parentID, childID).
>
> If a parent has kids then select those kids. If not, select this parent.
>
> How do I code this in SQL? I tried using "connect by" but this doesn't
> include start point.
>
> Any idea?
>
> This is 8.1.6 on Win2k.
>
> Thanks,
> Helmut
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> --
> Author: Helmut Daiminger
> INET: hdaiminger_at_vivonet.com

   select t.id, t.name
   from your_table t
   where t.id = what you are looking for

     and not exists (select null 
                     from your_table t2
                     where t2.parent_id = t.id)
   union
   select t.id, t.name
   from your_table t
   where t.parent_id = what you are looking for

 Index on parent_id, please.

Stephane Faroult
Oriole Corporation
Voice: +44 (0) 7050-696-269
Fax: +44 (0) 7050-696-449
Performance Tools & Free Scripts



http://www.oriole.com, designed by Oracle DBAs for Oracle DBAs
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Stephane Faroult
  INET: sfaroult_at_oriole.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Thu May 31 2001 - 14:18:20 CDT

Original text of this message

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