我在Oracle APEX.i想從三個表通過INNER JOIN
進行報告。表爲Fallows。內部加入三個表
PATIENT(PAR_ID(PK),Pat_Name,Pat_Gender)
歷史(His_Id(PK),Pat_id(FK),Treated_By)
和
治療( (Fk),Pat_id(Fk) ,Treat_Type ,收費)
我想顯示上面三個表中提到的報告中的所有列。
謝謝。
我在Oracle APEX.i想從三個表通過INNER JOIN
進行報告。表爲Fallows。內部加入三個表
PATIENT(PAR_ID(PK),Pat_Name,Pat_Gender)
歷史(His_Id(PK),Pat_id(FK),Treated_By)
和
治療( (Fk),Pat_id(Fk) ,Treat_Type ,收費)
我想顯示上面三個表中提到的報告中的所有列。
謝謝。
你應該總是指定列返回,尤其是在表格包含相同的列名稱
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
試試這個
Select * from
PATIENT inner join HISTORY on par_id=HISTORY.Pat_id
inner join Treatment on par_id=Treatment.Pat_id
這應該做的伎倆
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
它是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
這是您所描述的有價值的嘗試......那麼這有什麼問題? – Philipp
...並且你用mysql標記了它... – hims056
你需要三個表中的所有列,並且比你接受具有特定列的答案,並且相應地修改你的問題。 –