Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

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 = 'T1.name AS lev1'; my $join = ''; my $old_table = 'T1'; for(2..$number_of_levels) { $query .= ", T$_.name 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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://813901]
help
Chatterbox?
[1nickt]: pryrt I am creating a Type to check valid user IDs, which must be a whole number greater than or equal to zero. I would like to disallow 1.0 but because of this behaviour, by the time it is checked by the constraint, it *is* an Int.
[LanX]: should this be considered? Re: Parsing .txt into arrays
[LanX]: and this Re^4: Hash user input
[pryrt]: LanX, I would vote "keep" if it were considered: it's not helpful, but it could be taken multiple ways, not all of which are offenseive...
[pryrt]: 1nickt: if you are checking for valid user IDs, then I wouldn't care about the difference between 1.0 and 1: I would take either as a valid representation of the integer user ID#1
[LanX]: and this Re^2: extract column data
[Lady_Aleena]: I have two sub recurse { my ($directory, $other_var) = @_; my @files = file_list($directo ry); for my $file (@files) { if (-f $file) { do "stuff"; } if (-d $file) { recurse(" $directory/$file" , $other_var); } } } This was when I hated File::Find.
[tobyink]: 1nickt: your code?
[LanX]: pryrt: yeah, that's why I didn't consider, but the last >10 anonymous posts are from the same troll-person
[jdporter]: is there a module for expanding tabs in text?

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (13)
As of 2017-05-24 20:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?