Leser: 17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
id links rechts ebene text
1 1 6 1 Autos
3 2 3 2 BMW
6 4 5 2 Opel
17 7 18 1 Fahrräder
28 8 9 2 Einräder
29 10 15 2 Zweiräder
26 11 12 3 Mountain
19 13 14 3 Tandem
30 16 17 2 Dreiräder
15 19 24 1 Schiffe
27 20 21 2 Containerschiffe
16 22 23 2 Ruderboot
2 25 32 1 Flugzeuge
4 26 27 2 Airbus
5 28 29 2 Boeing
13 30 31 2 Zeppelin
7 33 36 1 Militär
8 34 35 2 Panzer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Autos
Autos > BMW
Autos > Opel
Fahrräder
Fahrräder > Einräder
Fahrräder > Zweiräder
Fahrräder > Zweiräder > Mountain
Fahrräder > Zweiräder > Tandem
Fahrräder > Dreiräder
Schiffe
Schiffe > Containerschiffe
Schiffe > Ruderboot
Flugzeuge
Flugzeuge > Airbus
Flugzeuge > Boeing
Flugzeuge > Zeppelin
Militär
Militär > Panzer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
my $sth = $dbh->prepare(<<'EOM'); SELECT n.id, n.name, count(*) -1 AS level FROM foo AS n, foo AS p WHERE n.links BETWEEN p.links AND p.rechts GROUP BY n.links ORDER BY n.links EOM $sth->execute; my @levels; while (my $row = $sth->fetchrow_hashref) { my $level = $row->{level}; $levels[$level] = $row->{name}; local $" = " > "; my @ausgabe = (@levels[0 .. $level]); print "@ausgabe\n"; }