11

以下のクエリを実行すると、次のエラーが表示されます

「クエリ式の構文エラー (演算子の欠落) 'diagnosis.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

sick_code が Illness テーブルと Diagnosis テーブルの両方にあり、すべてが機能することを確認しましたか? この参加中に、これらの病気コードを選択ステートメントに追加する必要があるかどうかわかりませんか? それらをSelectに追加しようとしましたが、それもうまくいかないようです。

4

4 に答える 4

7
Medication.Medication_Desc AS Medication,
Prescription.Dosage AS Dosage

FROM ステートメントに薬と処方箋のテーブルが結合されていないようです。

于 2013-02-08T02:45:40.957 に答える
5

最初の結合で 2 番目の Patient_No 列にテーブルを指定しませんでした。そのはず

INNER JOIN Diagnosis ON Diagnosis.Patient_No = Patient.Patient_No

また、結合していない 2 つのテーブル (医薬品と処方箋) から列を選択しています。ただし、これにより、「マルチパート識別子 'Medication.Medication_Desc' をバインドできませんでした」という別のエラーが発生するはずです。

あなたが得ている特定のエラーは、私が言及した最初の問題のように聞こえます。これは、Medication / Prescription テーブルを省略した実際の SQL フィルターです。

SQL フィドル

于 2013-02-08T02:41:00.237 に答える
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
于 2013-02-08T14:30:02.547 に答える
0

INNER JOINS他の 2 つのテーブルについても追加します。

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

INNER JOIN Prescription ON Prescription.<> = Patient.<>
于 2013-02-08T02:47:39.270 に答える