Solved

Query to bring up parent child relationships

Posted on 2013-01-11
4
840 Views
Last Modified: 2013-01-11
Hi,

I have a set of data that contains the ID that links a child node to a parent.  But the issue is that there are multiple levels and I need a way to query all the levels.

For example, the data set is as follows:
Child ID      Child Name      Parent ID       Parent Name
30      AAA      20      AA
31      BBB      21      BB
32      CCC      22      CC
33      DDD      23      DD
34      EEE      24      EE
35      FFF      25      FF
20      AA      10      A
21      BB      11      B
22      CC      12      C
23      DD      13      D
24      EE      14      E
25      FF      15      F
10      A            
11      B            
12      C            
13      D            
14      E            
15      F            

I need a query that I can use to get the following results:
Child ID      Child Name      Parent 0 ID      Parent 0 Name      Parent 1 ID      Parent 1 Name
30      AAA      20      AA      10      A
31      BBB      21      BB            
32      CCC      22      CC            
.........

Basically I need to show all the parents of each child ID that leads to the parent ID. Any suggestions on how I can query this? Thanks.
0
Comment
Question by:iamnamja
  • 2
  • 2
4 Comments
 
LVL 119

Expert Comment

by:Rey Obrero
ID: 38767591
assuming your table name is Child


SELECT Child.[Child ID], Child.[Child Name], Child_1.[Parent ID] AS [Parent 0 ID], Child_1.[Parent Name] AS [Parent 0 Name], Child_2.[Parent ID] AS [Parent 1 ID], Child_2.[Parent Name] AS [Parent 1 Name]
FROM (Child LEFT JOIN Child AS Child_1 ON Child.[Parent ID] = Child_1.[Parent ID]) LEFT JOIN Child AS Child_2 ON Child_1.[Parent ID] = Child_2.[Child ID];


you can extend the query by adding copy of the child table to the query and create a left join of the fields Child Id and Parent ID
0
 

Author Comment

by:iamnamja
ID: 38767612
So the only logical method is to extend to query to a possible number of parent child legs?  If there are 10 parent/child hierarchy, then we need to extend to 10?
I was hoping for a simpler solution as there may be more than 10, 20, etc...
0
 
LVL 119

Accepted Solution

by:
Rey Obrero earned 500 total points
ID: 38767645
<So the only logical method is to extend to query to a possible number of parent child legs?>
Yes, by using a similar query i posted above

but, i think to make it dynamic, you will need to use recordsets and vba codes .
0
 

Author Comment

by:iamnamja
ID: 38769248
got it.  I ended up using VBA code to get this done.
I was hoping there would be a "simpler" method.  Thank you
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now