Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Retrieving data from the same table in one query

user5534771Jul 21 2014 — edited Jul 23 2014

Good Morning

i am using Oracle version 11.0.2.0.3

I have three tables, PROJECT, HIERARCHY, and HR.

I need to send an email to all of the employees that are associated with the project.  The email will go to the PROJECT_MANAGER and the email will be CC: to the employee to the left and the right of the PROJECT_MANAGER in the HIERARCHY table (using the ID#). I am having problem updating my existing query to retrieve all of contact information and email addresses from the HIERARCHY table to be used for the email.

Here are the tables.

PROJECT table

CREATE TABLE "STUDENT"."PROJECTS"

   ( "PROJECT_ID" NUMBER,

  "PROJECT_NAME" VARCHAR2 (100 BYTE),

  "PROJECT_MANAGER" NUMBER,

  "PROJECT_MANGER_SUPV" NUMBER

   )

PROJECT_IDPROJECT_NAMEPROJECT_MANAGERPROJECT_MANAGER_SUPV
1000Children's Arts and Craft950852
1001Children's Science Club951855
1002Children's Math Club952859
1003Children's Dance Club953856
1004Children's Drama Club954851
1005Children's Music Club955853
1006Children's Science and Math Club956855
1007Children's Dance and Drama Club957851

HIERARCHY table

CREATE TABLE "STUDENT"."HR"

   ( "EMPLOYEE_ID" NUMBER,

  "EMPLOYEE_FIRST_NAME" VARCHAR2(20 BYTE),

  "EMPLOYEE_LAST_NAME" VARCHAR2(20 BYTE),

  "EMPLOYEE_EMAIL" VARCHAR2(50 BYTE)

   )

ID_0ID_1ID_2ID_3ID_4ID_5ID_POSITION
9509508527396255431
9519518557346275411
9529528596275412
9539538566255412
9549548515433
9559558537396255431
9569568557346275411
9579578517396255431

HR table

CREATE TABLE "STUDENT"."HIERARCHY"

   ( "ID_0" NUMBER,

  "ID_1" NUMBER,

  "ID_2" NUMBER,

  "ID_3" NUMBER,

  "ID_4" NUMBER,

  "ID_5" NUMBER,

  "ID_POSITION" NUMBER

   )

EMPLOYEE_IDEMPLOYEE_FIRST_NAMEEMPLOYEE_LAST_NAMEEMPLOYEE_EMAIL
950PAULWALKERpaul.walker@acme.com
951JOEPRICEjoe.price@acme.com
952SUSANHOPPERsusan.hopper@acme.com
953JOYCERIVERSjoyce.rivers@acme.com
954LUEDIXONlue.dixon@acme.com
955RICHARDPRYERrichard.pryer@acme.com
956LISATUDDLElisa.tuddle@acme.com
957SHAWNSMITHshawn.smith@acme.com
851IRENECOOPERirene.cooper@acme.com
852BRIANMILLERbrian.miller@acme.com
853CORYJEROMEcory.jerome@acme.com
855CATHYTURMANcathy.turman@acme.com
856COURTNEYWALTERScourtney.walters@acme.com
854AZAPATALaza.patal@acme.com
857MICHAELKNIGHTmichael.knight@acme.com
858MICHAELCASTELLOmichael.castello@acme.com
859MELISSALUMPKINmelissa.lumpkin@acme.com
850JACKIEJACKSONjackie.jackson@acme.com
734RICKROSSrick.ross@acme.com
739ANTHONYFRESHERanthony.fresher@acme.com
625DONALDTRUMPdonald.trump@acme.com
627STEVEJOBSsteve.jobs@acme.com
541BILLGATEbill.gates@acme.com
543MARKCUBANmark.cuban@acme.com

Here is my query to get the PROJECT_MANAGER contact information and email from the HIERARCY and HR tables

SELECT

  PROJECTS.PROJECT_ID,

  PROJECTS.PROJECT_NAME,

  PROJECTS.PROJECT_MANAGER,

  HR.EMPLOYEE_FIRST_NAME,

  HR.EMPLOYEE_LAST_NAME,

  HR.EMPLOYEE_EMAIL,

  HIERARCHY.ID_0,

  HIERARCHY.ID_1,

  HIERARCHY.ID_2,

  HIERARCHY.ID_3,

  HIERARCHY.ID_4,

  HIERARCHY.ID_5,

  HIERARCHY.ID_POSITION

FROM HR,

  PROJECTS,

  HIERARCHY

WHERE PROJECTS.PROJECT_MANAGER = HIERARCHY.ID_0

AND PROJECTS. PROJECT_MANAGER =  HR.EMPLOYEE_ID

Here are the results of the above query.

PROJECT_IDPROJECT_NAMEPROJECT_MANAGEREMPLOYEE_FIRST_NAMEEMPLOYEE_LAST_NAMEEMPLOYEE_EMAILID_0ID_1ID_2ID_3ID_4ID_5ID_POSITION
1000Children's Arts and Craft950PAULWALKERpaul.walker@acme.com9509508527396255431
1001Children's Science Club951JOEPRICEjoe.price@acme.com9519518557346275411
1002Children's Math Club952SUSANHOPPERsusan.hopper@acme.com9529528596275412
1003Children's Dance Club953JOYCERIVERSjoyce.rivers@acme.com9539538566255412
1004Children's Drama Club954LUEDIXONlue.dixon@acme.com9549548515433
1005Children's Music Club955RICHARDPRYERrichard.pryer@acme.com9559558537396255431
1006Children's Science and Math Club956LISATUDDLElisa.tuddle@acme.com9569568557346275411
1007Children's Dance and Drama Club957SHAWNSMITHshawn.smith@acme.com9579578517396255431

Now, the issue that I am having is that I need to retrieve the EMPLOYEE_FIRST_NAME, EMPLOYEE_LAST_NAME, and EMPLOYEE_EMAIL for all of employees associated to the project. So using the existing query, I need to update the query the information from the HR table for  ID_1, ID_2, ID_3, ID_4, and ID_5.

Here are the expected results:

PROJECT_IDPROJECT_NAMEPROJECT_MANAGEREMPLOYEE_FIRST_NAMEEMPLOYEE_LAST_NAMEEMPLOYEE_EMAILID_1EMPLOYEE_FIRST_NAMEEMPLOYEE_LAST_NAMEEMPLOYEE_EMAILID_2EMPLOYEE_FIRST_NAMEEMPLOYEE_LAST_NAMEEMPLOYEE_EMAILID_3EMPLOYEE_FIRST_NAMEEMPLOYEE_LAST_NAMEEMPLOYEE_EMAILID_4EMPLOYEE_FIRST_NAMEEMPLOYEE_LAST_NAMEEMPLOYEE_EMAILID_POSITION
1000Children's Arts and Craft950PAULWALKERpaul.walker@acme.com950PAULWALKERpaul.walker@acme.com852BRIANMILLERbrian.miller@acme.com739ANTHONYFRESHERanthony.fresher@acme.com625DONALDTRUMPdonald.trump@acme.com1
1001Children's Science Club951JOEPRICEjoe.price@acme.com951JOEPRICEjoe.price@acme.com855CATHYTURMANcathy.turman@acme.com734RICKROSSrick.ross@acme.com627STEVEJOBSsteve.jobs@acme.com1
1002Children's Math Club952SUSANHOPPERsusan.hopper@acme.com 952SUSANHOPPERsusan.hopper@acme.com859MELISSALUMPKINmelissa.lumpkin@acme.com627STEVEJOBSsteve.jobs@acme.com2
1003Children's Dance Club953JOYCERIVERSjoyce.rivers@acme.com 953JOYCERIVERSjoyce.rivers@acme.com856COURTNEYWALTERScourtney.walters@acme.com625DONALDTRUMPdonald.trump@acme.com2
1004Children's Drama Club954LUEDIXONlue.dixon@acme.com 954LUEDIXONlue.dixon@acme.com851IRENECOOPERirene.cooper@acme.com3
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 20 2014
Added on Jul 21 2014
8 comments
2,976 views