Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: generate self join sql with specified depth level

by suaveant (Parson)
on Dec 22, 2009 at 14:59 UTC ( #813901=note: print w/replies, xml ) Need Help??

in reply to generate self join sql with specified depth level

I've done this at least a couple of times, it's not rocket science.

Something along the lines of...

my $number_of_levels = 5; my $query = ' AS lev1'; my $join = ''; my $old_table = 'T1'; for(2..$number_of_levels) { $query .= ", T$ AS lev$_"; $join .= " LEFT JOIN tab AS T$_ ON T$_.parentID = $old_table.ID"; $old_table = "T$_"; } print $finished_query = "SELECT $query FROM tag AS T1 $join WHERE T1.p +arentID = 0";
That should pretty much do it.

                - Ant
                - Some of my best work - (1 2 3)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://813901]
[erix]: (sorry, I'm always a bit violent on fridays)
LanX predicts problems for Erix next time he lines up at an US immigration counter
[erix]: but tuesdays just as bad
[erix]: thanks for the heads-up but that's a line-up studiiously avoided :P
[LanX]: yeah too far for someone who can't even make it to Amsterdam
LanX looking for a good magit tutorial
LanX ... and git in general
[erix]: I've been to Amsterdam before you were born
[LanX]: 1899?

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (12)
As of 2017-08-18 13:16 GMT
Find Nodes?
    Voting Booth?
    Who is your favorite scientist and why?

    Results (302 votes). Check out past polls.