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 Brain Teaser Challenge

RE: SQL Brain Teaser Challenge

From: Whittle Jerome Contr NCI <Jerome.Whittle_at_scott.af.mil>
Date: Tue, 05 Nov 2002 10:59:20 -0800
Message-ID: <F001.004FBFE9.20021105105920@fatcity.com>


select *
from treenode
order by translate(description || 0, '0123456789abcdefghijklmnopqrstuvwxyz ', '0123456789')

Jerry Whittle
ACIFICS DBA
NCI Information Systems Inc.
jerome.whittle_at_scott.af.mil
618-622-4145

> -----Original Message-----
> From: Orr, Steve [SMTP:sorr_at_rightnow.com]
>
> Challenge: present SQL results hierarchically and sort the nodes. Use sort
> column without changing data. Here's the DDL/DML to start:
>
> create table treenode (
> id number not null
> constraint pk_treenode primary key,
> parentid number not null,
> nodeorder number not null,
> description varchar2(20) null);
>
> insert into treenode values(1,0,0,'top folder');
> insert into treenode values(9,1,0,'1st subfolder');
> insert into treenode values(7,1,2,'3rd subfolder');
> insert into treenode values(2,1,1,'2nd subfolder');
> insert into treenode values(8,7,1,'folder 3 item 2');
> insert into treenode values(6,2,3,'folder 2 item 3');
> insert into treenode values(5,7,0,'folder 3 item 1');
> insert into treenode values(3,2,2,'folder 2 item 2');
> insert into treenode values(4,2,1,'folder 2 item 1');
> -----------------------------------------------------
> Here's the data presented hierachically without the desired sort:
> select * from treenode
> start with parentid=0 connect by prior id = parentid;
> ID PARENTID NODEORDER DESCRIPTION
> ---------- ---------- ---------- --------------------
> 1 0 0 top folder
> 9 1 0 1st subfolder
> 7 1 2 3rd subfolder
> 8 7 1 folder 3 item 2
> 5 7 0 folder 3 item 1
> 2 1 1 2nd subfolder
> 6 2 3 folder 2 item 3
> 3 2 2 folder 2 item 2
> 4 2 1 folder 2 item 1
> -----------------------------------------------------
> Desired SQL statement results:
> ID PARENTID NODEORDER DESCRIPTION
> ---------- ---------- ---------- --------------------
> 1 0 0 top folder
> 9 1 0 1st subfolder
> 2 1 1 2nd subfolder
> 4 2 1 folder 2 item 1
> 3 2 2 folder 2 item 2
> 6 2 3 folder 2 item 3
> 7 1 2 3rd subfolder
> 5 7 0 folder 3 item 1
> 8 7 1 folder 3 item 2
> -----------------------------------------------------
>
> Kudos to anyone who can figure out how to do this via SQL.
>
> Steve Orr
> Bozeman, Montana
>

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Whittle Jerome Contr NCI
  INET: Jerome.Whittle_at_scott.af.mil

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
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 Tue Nov 05 2002 - 12:59:20 CST

Original text of this message

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