Search code examples
sqloracle11goracle-apex

Inner Join of three different Tables


I am working in Oracle APEX. I want to make a report from three different tables (Patient, History, Treatment) through INNER JOIN . Tables are as fallows.

PATIENT (Par_Id(Pk),Pat_Name,Pat_Gender)

HISTORY (His_Id(Pk),Pat_id(Fk),Treated_By)

and

Treatment ( Treat_Id, His_id(Fk),Pat_id(Fk) ,Treat_Type ,Charges)

How I am going to display all the mentioned columns of the three Tables in the report.

Thanks.


Solution

  • You should always specify the columns to return, especially as the tables contain identical column names

    SELECT p.Par_Id, p.Pat_Name, p.Pat_Gender,
        h.His_Id, h.Treated_By,
        t.Treat_Id, t.Treat_Type, t.Charges
    FROM Patient p 
    INNER JOIN History h 
        ON p.PAR_ID = h.PAT_ID
    INNER JOIN Treatment t
        ON h.HIS_ID = t.HIS_ID AND p.PAR_ID = h.PAT_ID