Parent child relationship Join tables in oracle sql












0















I have a requirement below.



Table Structure containing Position details



Now I have to get output like below



enter image description here



How can this be achieved ?
I have written the below SQL but parent_position_id is coming, not parent_position_code



select
hapf.position_code,
pphf.parent_position_id
from
hr_all_positions_f hapf, PER_POSITION_HIERARCHY_F pphf
where
hapf.position_id = pphf.position_id


Should I write a sub query? How should I proceed ?
This is Oracle SQL



Thanks,
Shivam










share|improve this question























  • Hint: JOIN. And JOIN again.

    – Gordon Linoff
    Nov 26 '18 at 13:46











  • Can you please tell me how these joins would work ?

    – shivam
    Nov 26 '18 at 13:58











  • I got it, I used this SQL query as a table to join in another query. I think this is correct

    – shivam
    Nov 26 '18 at 14:04
















0















I have a requirement below.



Table Structure containing Position details



Now I have to get output like below



enter image description here



How can this be achieved ?
I have written the below SQL but parent_position_id is coming, not parent_position_code



select
hapf.position_code,
pphf.parent_position_id
from
hr_all_positions_f hapf, PER_POSITION_HIERARCHY_F pphf
where
hapf.position_id = pphf.position_id


Should I write a sub query? How should I proceed ?
This is Oracle SQL



Thanks,
Shivam










share|improve this question























  • Hint: JOIN. And JOIN again.

    – Gordon Linoff
    Nov 26 '18 at 13:46











  • Can you please tell me how these joins would work ?

    – shivam
    Nov 26 '18 at 13:58











  • I got it, I used this SQL query as a table to join in another query. I think this is correct

    – shivam
    Nov 26 '18 at 14:04














0












0








0








I have a requirement below.



Table Structure containing Position details



Now I have to get output like below



enter image description here



How can this be achieved ?
I have written the below SQL but parent_position_id is coming, not parent_position_code



select
hapf.position_code,
pphf.parent_position_id
from
hr_all_positions_f hapf, PER_POSITION_HIERARCHY_F pphf
where
hapf.position_id = pphf.position_id


Should I write a sub query? How should I proceed ?
This is Oracle SQL



Thanks,
Shivam










share|improve this question














I have a requirement below.



Table Structure containing Position details



Now I have to get output like below



enter image description here



How can this be achieved ?
I have written the below SQL but parent_position_id is coming, not parent_position_code



select
hapf.position_code,
pphf.parent_position_id
from
hr_all_positions_f hapf, PER_POSITION_HIERARCHY_F pphf
where
hapf.position_id = pphf.position_id


Should I write a sub query? How should I proceed ?
This is Oracle SQL



Thanks,
Shivam







sql oracle join oracle11g






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 26 '18 at 13:24









shivamshivam

133418




133418













  • Hint: JOIN. And JOIN again.

    – Gordon Linoff
    Nov 26 '18 at 13:46











  • Can you please tell me how these joins would work ?

    – shivam
    Nov 26 '18 at 13:58











  • I got it, I used this SQL query as a table to join in another query. I think this is correct

    – shivam
    Nov 26 '18 at 14:04



















  • Hint: JOIN. And JOIN again.

    – Gordon Linoff
    Nov 26 '18 at 13:46











  • Can you please tell me how these joins would work ?

    – shivam
    Nov 26 '18 at 13:58











  • I got it, I used this SQL query as a table to join in another query. I think this is correct

    – shivam
    Nov 26 '18 at 14:04

















Hint: JOIN. And JOIN again.

– Gordon Linoff
Nov 26 '18 at 13:46





Hint: JOIN. And JOIN again.

– Gordon Linoff
Nov 26 '18 at 13:46













Can you please tell me how these joins would work ?

– shivam
Nov 26 '18 at 13:58





Can you please tell me how these joins would work ?

– shivam
Nov 26 '18 at 13:58













I got it, I used this SQL query as a table to join in another query. I think this is correct

– shivam
Nov 26 '18 at 14:04





I got it, I used this SQL query as a table to join in another query. I think this is correct

– shivam
Nov 26 '18 at 14:04












1 Answer
1






active

oldest

votes


















2














Noone ever said you could only join a table in once:



select
chi.position_code,
par.position_code as parent_position_code
from
hr_all_positions_f hapf
INNER JOIN PER_POSITION_HIERARCHY_F chi on hapf.position_id = chi.position_id
INNER JOIN PER_POSITION_HIERARCHY_F par on hapf.parent_position_id = par.position_id


Bear it in mind; I see people coming to thinking all the time that they can only join a table once. If one table decodes a value in 3 different columns, then you sure can join that same table in 3 times... Imagine if it were an address table, and a Student had a HomeAddressId, WorkAddressId and StudyAddressId, and the Address table held all these addresses - you'd join the addresses table to the Student table 3 times to get all the data..






share|improve this answer
























  • Thanks for detailed reply, this is a easy way to do it than I was doing it.

    – shivam
    Nov 26 '18 at 14:24











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53482107%2fparent-child-relationship-join-tables-in-oracle-sql%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














Noone ever said you could only join a table in once:



select
chi.position_code,
par.position_code as parent_position_code
from
hr_all_positions_f hapf
INNER JOIN PER_POSITION_HIERARCHY_F chi on hapf.position_id = chi.position_id
INNER JOIN PER_POSITION_HIERARCHY_F par on hapf.parent_position_id = par.position_id


Bear it in mind; I see people coming to thinking all the time that they can only join a table once. If one table decodes a value in 3 different columns, then you sure can join that same table in 3 times... Imagine if it were an address table, and a Student had a HomeAddressId, WorkAddressId and StudyAddressId, and the Address table held all these addresses - you'd join the addresses table to the Student table 3 times to get all the data..






share|improve this answer
























  • Thanks for detailed reply, this is a easy way to do it than I was doing it.

    – shivam
    Nov 26 '18 at 14:24
















2














Noone ever said you could only join a table in once:



select
chi.position_code,
par.position_code as parent_position_code
from
hr_all_positions_f hapf
INNER JOIN PER_POSITION_HIERARCHY_F chi on hapf.position_id = chi.position_id
INNER JOIN PER_POSITION_HIERARCHY_F par on hapf.parent_position_id = par.position_id


Bear it in mind; I see people coming to thinking all the time that they can only join a table once. If one table decodes a value in 3 different columns, then you sure can join that same table in 3 times... Imagine if it were an address table, and a Student had a HomeAddressId, WorkAddressId and StudyAddressId, and the Address table held all these addresses - you'd join the addresses table to the Student table 3 times to get all the data..






share|improve this answer
























  • Thanks for detailed reply, this is a easy way to do it than I was doing it.

    – shivam
    Nov 26 '18 at 14:24














2












2








2







Noone ever said you could only join a table in once:



select
chi.position_code,
par.position_code as parent_position_code
from
hr_all_positions_f hapf
INNER JOIN PER_POSITION_HIERARCHY_F chi on hapf.position_id = chi.position_id
INNER JOIN PER_POSITION_HIERARCHY_F par on hapf.parent_position_id = par.position_id


Bear it in mind; I see people coming to thinking all the time that they can only join a table once. If one table decodes a value in 3 different columns, then you sure can join that same table in 3 times... Imagine if it were an address table, and a Student had a HomeAddressId, WorkAddressId and StudyAddressId, and the Address table held all these addresses - you'd join the addresses table to the Student table 3 times to get all the data..






share|improve this answer













Noone ever said you could only join a table in once:



select
chi.position_code,
par.position_code as parent_position_code
from
hr_all_positions_f hapf
INNER JOIN PER_POSITION_HIERARCHY_F chi on hapf.position_id = chi.position_id
INNER JOIN PER_POSITION_HIERARCHY_F par on hapf.parent_position_id = par.position_id


Bear it in mind; I see people coming to thinking all the time that they can only join a table once. If one table decodes a value in 3 different columns, then you sure can join that same table in 3 times... Imagine if it were an address table, and a Student had a HomeAddressId, WorkAddressId and StudyAddressId, and the Address table held all these addresses - you'd join the addresses table to the Student table 3 times to get all the data..







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 26 '18 at 14:04









Caius JardCaius Jard

11.8k21239




11.8k21239













  • Thanks for detailed reply, this is a easy way to do it than I was doing it.

    – shivam
    Nov 26 '18 at 14:24



















  • Thanks for detailed reply, this is a easy way to do it than I was doing it.

    – shivam
    Nov 26 '18 at 14:24

















Thanks for detailed reply, this is a easy way to do it than I was doing it.

– shivam
Nov 26 '18 at 14:24





Thanks for detailed reply, this is a easy way to do it than I was doing it.

– shivam
Nov 26 '18 at 14:24




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53482107%2fparent-child-relationship-join-tables-in-oracle-sql%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

Calculate evaluation metrics using cross_val_predict sklearn

Insert data from modal to MySQL (multiple modal on website)