Inner Join Three Tables

情到浓时终转凉″ 提交于 2019-12-21 02:37:15

问题


I am working in Oracle APEX.i want to make a report from three tables through INNER JOIN .The 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)

I want to display all the columns in Report mentioned in the above three Tables.

Thanks.


回答1:


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



回答2:


This should do the trick

SELECT * 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



回答3:


Try this

Select * from 
PATIENT  inner join HISTORY  on par_id=HISTORY.Pat_id
inner join Treatment  on par_id=Treatment.Pat_id



回答4:


It is too simple in mysql

SELECT 
    * 
FROM PATIENT as p
LEFT JOIN HISTORY as h ON h.Pat_id = p.Pat_Id
LEFT JOIN Treatment as t ON t.His_id = h.His_Id


来源:https://stackoverflow.com/questions/14254597/inner-join-three-tables

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!