我在 Oracle APEX 工作。我想通过 .The INNER JOIN
Tables 从三个表中生成报告。这些表是 Fallows。
患者(Par_Id(Pk)、Pat_Name、Pat_Gender)
历史(His_Id(Pk),Pat_id(Fk),Treated_By)
和
治疗(Treat_Id、His_id(Fk)、Pat_id(Fk)、Treat_Type、Charges)
我想显示上述三个表格中提到的报告中的所有列。
谢谢。
我在 Oracle APEX 工作。我想通过 .The INNER JOIN
Tables 从三个表中生成报告。这些表是 Fallows。
患者(Par_Id(Pk)、Pat_Name、Pat_Gender)
历史(His_Id(Pk),Pat_id(Fk),Treated_By)
和
治疗(Treat_Id、His_id(Fk)、Pat_id(Fk)、Treat_Type、Charges)
我想显示上述三个表格中提到的报告中的所有列。
谢谢。
您应该始终指定要返回的列,尤其是当表包含相同的列名时
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 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
在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