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: [EMAIL PROTECTED]
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: [EMAIL PROTECTED]
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: [EMAIL PROTECTED] (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).