在SQL中使用多个内部联接

Zi0*_*0n1 9 sql

运行以下查询时,我收到错误消息

"查询表达式中的语法错误(缺少运算符)'diagnostic.Patient_No ='Patient_No INNER JOIN Illness On Illness.Illness_Code = Diagnosis.Illness_Code'

SELECT Patient.Last_Name AS LastName,
       Patient.First_Name AS FirstName,
       Patient.Gender AS Gender,
       Patient.Age AS Age,
       Illness.Illness_Desc AS illness,
       Medication.Medication_Desc AS Medication,
       Prescription.Dosage AS Dosage
FROM Patient
INNER JOIN Diagnosis ON Patient.Patient_No = Diagnosis.Patient_No
INNER JOIN Illness ON Diagnosis.Illness_Code = Illness.Illness_Code
INNER JOIN Prescription ON Patient.Patient_No = Prescription.Patient_No
INNER JOIN Medication ON Prescription.Medication_code = Medication.Medication_code
Run Code Online (Sandbox Code Playgroud)

我确认sick_code都在疾病和诊断表中,一切都应该有效吗?不确定在这次加入期间我是否需要将这些疾病代码添加到select语句中?我尝试将它们添加到我的Select中,这对我来说似乎也没有用.

小智 6

Medication.Medication_Desc AS Medication,
Prescription.Dosage AS Dosage
Run Code Online (Sandbox Code Playgroud)

看起来您没有在FROM语句中加入药物和处方表.


Jer*_*ins 5

您没有为第一个连接中的第二个Patient_No列指定表.它应该是

INNER JOIN Diagnosis ON Diagnosis.Patient_No = Patient.Patient_No
Run Code Online (Sandbox Code Playgroud)

您还要从两个未加入的表中选择列 - 药物和处方.但是,这应该会给您一个不同的错误:"多部分标识符'Medication.Medication_Desc'无法绑定."

你得到的具体错误听起来像我提到的第一个问题.这是一个有效的SQL过滤器,省略了Medication/Prescription表.

SQL小提琴