another question about connectby from contrib

Started by Nonamealmost 23 years ago3 messagesgeneral
Jump to latest
#1Noname
sector119@mail.ru

ELECT f.*, link, text, target, icon, node FROM connectby('menu', 'id',
'parent_id', 8, 0) AS f(id integer, parent_id integer, level integer),
menu where menu.id = f.id;

I have got this:

id | parent_id | level | link | text | target | icon | node
----+-----------+-------+------+-----------------+--------+------+------
8 | | 0 | | #3 | | | t
11 | 8 | 1 | | #3.1 | | | t
12 | 8 | 1 | | #3.2 | | | f
13 | 11 | 2 | | #3.1.1 | | | f
14 | 11 | 2 | | #3.1.2 | | | t
15 | 11 | 2 | | #3.1.3 | | | f
16 | 11 | 2 | | #3.1.4 | | | t
17 | 11 | 2 | | #3.1.5 | | | f
18 | 14 | 3 | | #3.1.2.1 | | | f
19 | 14 | 3 | | #3.1.2.2 | | | f
20 | 14 | 3 | | #3.1.2.3 | | | f
21 | 16 | 3 | | #3.1.4.1 | | | f
22 | 16 | 3 | | #3.1.4.2 | | | f
23 | 16 | 3 | | #3.1.4.3 | | | t
24 | 16 | 3 | | #3.1.4.4 | | | f
25 | 23 | 4 | | #3.1.4.3.1 | | | f
26 | 23 | 4 | | #3.1.4.3.2 | | | f
27 | 23 | 4 | | #3.1.4.3.3 | | | f
28 | 16 | 3 | | #3.1.4.5 | | | f

How am I able to get result where text field is like this:

#3
#3.1
#3.1.1
#3.1.2
#3.1.2.1
#3.1.2.2
#3.1.2.3
#3.1.3
#3.1.4
#3.1.4.1
#3.1.4.2
#3.1.4.3
#3.1.4.3.1
#3.1.4.3.2
#3.1.4.3.3
#3.1.4.4
#3.1.4.5
#3.1.5
#3.2

--
WBR, sector119

#2Joe Conway
mail@joeconway.com
In reply to: Noname (#1)
Re: another question about connectby from contrib

sector119@mail.ru wrote:

ELECT f.*, link, text, target, icon, node FROM connectby('menu', 'id',
'parent_id', 8, 0) AS f(id integer, parent_id integer, level integer),
menu where menu.id = f.id;

I have got this:

id | parent_id | level | link | text | target | icon | node
----+-----------+-------+------+-----------------+--------+------+------
8 | | 0 | | #3 | | | t
11 | 8 | 1 | | #3.1 | | | t

[...snip...]

How am I able to get result where text field is like this:

#3
#3.1

[...snip...]

I don't see any difference. You'll have to be more clear with your question.

Joe

#3Jan Weerts
j.weerts@i-views.de
In reply to: Joe Conway (#2)
Re: another question about connectby from contrib

id | parent_id | level | link | text | target | icon | node
----+-----------+-------+------+------------+--------+------+------
8 | | 0 | | #3 | | | t
11 | 8 | 1 | | #3.1 | | | t
12 | 8 | 1 | | #3.2 | | | f
13 | 11 | 2 | | #3.1.1 | | | f

If I get this right, you have a tree represented in a table in a bfs
order (by id) and want to output a dfs order (by text)?

#3
#3.1
#3.1.1
#3.1.2

so I guess you could simply add an "ORDER BY text" clause to your query
and be done as long as you don't have any really weird locale sorting this
text column in an unintuitive manner.

HTH
Jan