Dusan Kolesar  wrote:
> 
> 
> Hello,
> 
> This is more SQL problem then SAP DB problem but may bee 
> somebody can help 
> me.
> Or sombody knows links where solved this problem.
> 
> I have a table ADDRESS. Data represent tree structure.
> PARENT_ID points into record of the same table.
> 
> CREATE TABLE "ADDRESS"
> (
>    "ID"               Integer   NOT NULL  DEFAULT SERIAL (1),
>    "PARENT_ID"        Integer             DEFAULT -1,
>    "NAME"             Varchar (30) ASCII  DEFAULT '',
> )
> 
> I want to select all records and sort result preorder or postorder.
> 
> I'am sorry for my question in this list, but I feel helpless.
> Thanks for all sugestions.
> 

This may help in case not too many levels have to be handled:

DECLARE C CURSOR FOR
  WITH RECURSIVE PX (PARENT_ID, ID, NAME, FOLGE) AS
  (SELECT PARENT_ID,ID,NAME,CHR(ID) FROM ADDRESS WHERE ID = :parent
   UNION ALL
   SELECT ADDRESS.PARENT_ID,ADDRESS.ID,ADDRESS.NAME, 
       FOLGE || lfill (CHR(ADDRESS.ID), ' ', 10)
    FROM ADDRESS, PX
       WHERE PX.id = ADDRESS.PARENT_ID
  )
SELECT PARENT_ID,ID,NAME, folge
FROM PX
ORDER BY FOLGE 

Elke
SAP Labs Berlin

> Dusan
> 
> -=x=-
> Skontrolované antivírovým programom NOD32
> 
> 
> -- 
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to