运行以下查询时,我收到错误消息
查询表达式中的语法错误(缺少运算符) 'diagnosis.Patient_No ='Patient_No INNER JOIN疾病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
我确认sick_code都在疾病和诊断表中,一切都应该有效吗?不确定在这次加入期间我是否需要将这些疾病代码添加到select语句中?我尝试将它们添加到我的Select中,这对我来说似乎也没有用。
答案 0 :(得分:6)
Medication.Medication_Desc AS Medication,
Prescription.Dosage AS Dosage
您的FROM语句中似乎没有加入药物和处方表。
答案 1 :(得分:5)
您没有为第一次加入中的第二个Patient_No列指定表格。它应该是
INNER JOIN Diagnosis ON Diagnosis.Patient_No = Patient.Patient_No
您还要从两个未加入的表中选择列 - 药物和处方。但是,这应该会给您一个不同的错误:“多部分标识符'Medication.Medication_Desc'无法绑定。”
您获得的具体错误听起来像我提到的第一个问题。这是一个有效的SQL过滤器,省略了药物/处方表。
答案 2 :(得分:0)
另外为其他两个表添加INNER JOINS
,
INNER JOIN Medication ON Medication.<> = Patient.<>
INNER JOIN Prescription ON Prescription.<> = Patient.<>
答案 3 :(得分:0)
你仍然无法得到同样的错误..。现在发生了什么? 试试下面的
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