Uttam: Your're great! But there's still one thing I haven't mentioned (my fault)...
If I add more childs to the same node_depth and sets SubProjectB NOT to inherit, then the query fails... I now have these records: project_group_id ref_project_group_id name root_project_group_id node_depth inherit 10 0 ProjectA 0 0 0 57 10 SubProjectA 10 1 1 59 57 SubProjectB 10 2 0 60 59 SubProjectC 10 3 1 63 59 SubProject_1 10 3 1 62 60 SubProjectD 10 4 1 64 63 SubProject_2 10 4 1 This would look somehting like this in a treeview: ProjectA (10) <- node_depth = 0 (root) \ SubProjectA (57) <- node_depth = 1 \ SubProjectB (59) <- node_depth = 2 / \ SubProject_1 (63) SubProjectC (60) <- node_depth = 3 / \ SubProject_1 (64) SubProjectD (62) <- node_depth = 4 But if running your query against the database I get the following output: project_group_id ref_project_group_id name root_project_group_id node_depth inherit 10 0 ProjectA 0 0 0 57 10 SubProjectA 10 1 1 62 60 SubProjectD 10 4 1 64 63 SubProject_2 10 4 1 What could be wrong? Best Regards Jakob Vedel Adeltoft, CTO [EMAIL PROTECTED] WebProof - www.webproof.dk Tel +45 46 32 68 68 Fax +45 46 35 94 94 > -----Original Message----- > From: Uttam [mailto:[EMAIL PROTECTED] > Sent: Saturday, March 15, 2003 7:57 AM > To: Jakob Vedel Adeltoft; [EMAIL PROTECTED] > Subject: RE: JOIN on same table > > > try this: > > SELECT PG1.* > FROM project_group_list AS PG1 LEFT JOIN project_group_list AS PG2 > ON PG1.ref_project_group_id = PG2.project_group_id > WHERE > (PG1.root_project_group_id=10 AND PG1.inherit=1 AND > PG2.inherit=1) > OR (PG1.project_group_id=10) > OR (PG1.ref_project_group_id=10) > ORDER BY PG1.node_depth > > regards, > -----Original Message----- > From: Jakob Vedel Adeltoft [mailto:[EMAIL PROTECTED] > Sent: Friday, March 14, 2003 16:30 > To: [EMAIL PROTECTED] > Subject: JOIN on same table > > > Hi there, > I have this table: > > project_group_id ref_project_group_id name > root_project_group_id node_depth > inherit > 10 0 ProjectA 0 0 0 > 57 10 SubProjectA 10 1 1 > 59 57 SubProjectB 10 2 1 > 60 59 SubProjectC 10 3 0 > 62 60 SubProjectD 10 4 1 > > project_group_id (int) = primary key. > ref_project_group_id (int) = parent project (if root, then 0) > name (char) = name of project > root_project_group_id (int) = project_group_id for root project (if > root, then 0) > node_depth (int) = how far down in the tree this child is (if > root, then > 0) > inherit (int) = determines if this project inherit information from > parent (no=0, yes=1) > > This would look somehting like this in a treeview: > ProjectA (10) <- node_depth = > 0 (root) > \ > SubProjectA (57) <- > node_depth = 1 > \ > SubProjectB (59) <- > node_depth = 2 > \ > SubProjectC (60) <- > node_depth = 3 > \ > SubProjectD (62) <- > node_depth = 4 > > I now wan't all child records (inclusive root) for ProjectA > that inherit > information. This means that I only wan't records with > project_group_id > = 10, 57, 59, because 60 is NOT inheriting and it's child project (62) > is then not able to inherit. > > I've made the follwoing query: > SELECT PGL1.project_group_id, PGL1.ref_project_group_id, PGL1.name, > PGL1.permission_inherit, PGL1.node_depth, PGL1.root_project_group_id > FROM project_group_list PGL1 > LEFT JOIN project_group_list PGL2 ON PGL1.root_project_group_id = > PGL2.root_project_group_id > WHERE PGL2.root_project_group_id = 10 > AND PGL2.permission_inherit = 0 > AND PGL1.node_depth < PGL2.node_depth > ORDER BY PGL1.node_depth > > But this only gives me 57 and 59, but not 10 (root). This query also > have a problem, if all projects is inheriting and there is no records > with inherit=0, then the query returns no results. > > What can I do to solve this problem? I hope someone can help me... > > /Jakob > > > > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php