Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 944
  • Last Modified:

Query to bring up parent child relationships

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
iamnamja
Asked:
iamnamja
  • 2
  • 2
1 Solution
 
Rey Obrero (Capricorn1)Commented:
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
 
iamnamjaAuthor Commented:
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
 
Rey Obrero (Capricorn1)Commented:
<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
 
iamnamjaAuthor Commented:
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

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now