在SQL中使用多个内部联接

在SQL中使用多个内部联接,sql,Sql,当运行下面的查询时,我得到一个错误 查询表达式中出现语法错误(缺少运算符) 'diagnosis.Patient_No='Patient_No-INNER-JOIN-disease ON 疾病。疾病\代码=诊断。疾病\代码' 我确认疾病代码同时存在于疾病表和诊断表中,并且一切都应该正常工作?不确定在此联接期间是否需要将这些疾病代码添加到select语句中?我尝试将它们添加到select语句中,但这似乎对我也不起作用。您没有为第一个jo中的第二个“患者”列指定表是的,应该是 INNER JOIN

当运行下面的查询时,我得到一个错误

查询表达式中出现语法错误(缺少运算符) 'diagnosis.Patient_No='Patient_No-INNER-JOIN-disease ON 疾病。疾病\代码=诊断。疾病\代码'


我确认疾病代码同时存在于疾病表和诊断表中,并且一切都应该正常工作?不确定在此联接期间是否需要将这些疾病代码添加到select语句中?我尝试将它们添加到select语句中,但这似乎对我也不起作用。

您没有为第一个jo中的第二个“患者”列指定表是的,应该是

INNER JOIN Diagnosis ON Diagnosis.Patient_No = Patient.Patient_No
您还从两个表中选择了未加入的列-药物和处方。但是,这会给您一个不同的错误,即“无法绑定多部分标识符'medicing.medicing_Desc'

您遇到的具体错误听起来像是我提到的第一个问题。这里有一个正在工作的SQL过滤器,省略了药物/处方表


看起来您的FROM语句中没有联接药物表和处方表。

还为其他两个表添加
内部联接

INNER JOIN Medication ON Medication.<> = Patient.<>

INNER JOIN Prescription ON Prescription.<> = Patient.<>
内部加入药物治疗。=患者。
在处方上加入内部处方。=患者。

您不能仍然收到相同的错误…现在发生了什么? 试试下面的方法

 Select p.Last_Name LastName,
   p.First_Name FirstName,
   p.Gender Gender, p.Age Age,
   i.Illness_Desc illness,
   m.Medication_Desc Medication,
   s.Dosage Dosage
From Patient p
    Join Diagnosis d    On d.Patient_No = p.Patient_No
    Join Illness i      On i.Illness_Code = d.Illness_Code
    Join Prescription s On s.Patient_No = p.Patient_No
    Join Medication m   On m.Medication_code = p.Medication_code

我把它改为Patient.Patient\u No,它没有什么区别。严重地被难住了。我更新了上面的代码,以反映添加了所有内部联接。仍然不能正常工作。我是否使用了联接错误?这是一个更新的fiddle。它有一些空表,有你的确切SQL。没有返回数据,但它会执行,所以我认为问题在于他在别处-
INNER JOIN Medication ON Medication.<> = Patient.<>

INNER JOIN Prescription ON Prescription.<> = Patient.<>
 Select p.Last_Name LastName,
   p.First_Name FirstName,
   p.Gender Gender, p.Age Age,
   i.Illness_Desc illness,
   m.Medication_Desc Medication,
   s.Dosage Dosage
From Patient p
    Join Diagnosis d    On d.Patient_No = p.Patient_No
    Join Illness i      On i.Illness_Code = d.Illness_Code
    Join Prescription s On s.Patient_No = p.Patient_No
    Join Medication m   On m.Medication_code = p.Medication_code