2017-05-28 6 views
0

が、私はエラーERROR 1066(42000)を取得する 'STUDENT_TBL' がないユニークなテーブル/エイリアス(42000)

select STUDENT,DATE,MARK from Assessments inner join STUDENT_TBL onAssessments,ID_STUDENT=STUDENT_TBL,STD_ID inner joinVisit_log,ID_STUDENT=STUDENT_TBL,STD_ID where STUDENT_TBL,STD_IDIN (select ID_STUDENT FROM Assessments group by ID_STUDENT having avg(MARK)>3.7);

どのようにそれを修正するには?

答えて

0

のようなドットでそれを区切る必要がありTABLENAME場合。 select句で列を選択しながら、それらが複数のテーブル

+0

ERROR 1052(23000):フィールドリストの 'DATE'列があいまいです –

+0

@ArtemMatrosov 'DATE'を参照している表からですか? – Rohan

+0

「評価」テーブルから –

0

あなたは、スキーマを使用すると、あなたはあなたがTable_Name.column_nameにアクセスするために'.'の代わり','を使用する必要があります。この

select STUDENT, Assessments .`DATE`,MARK from Assessments 
inner join STUDENT_TBL on Assessments.ID_STUDENT=STUDENT_TBL.STD_ID 
inner join Visit_log.ID_STUDENT=STUDENT_TBL.STD_ID 
where STUDENT_TBL.STD_ID IN (select ID_STUDENT FROM Assessments group by ID_STUDENT having avg(MARK)>3.7); 
+0

を中に存在している場合

select STUDENT,DATE,MARK from Assessments AS Assessments inner join STUDENT_TBL AS STUDENT_TBL on Assessments.ID_STUDENT=STUDENT_TBL.STD_ID inner join Visit_log AS Visit_log on Visit_log.ID_STUDENT=STUDENT_TBL.STD_ID where STUDENT_TBL.STD_ID IN (select ID_STUDENT FROM Assessments group by ID_STUDENT having avg(MARK)>3.7 

はまた、今私が持っているAssessments.ID_STUDENTのようにエイリアスを使用し、エラーのような:フィールドリストの列「DATE」:ERROR 1052(23000)曖昧です –

+0

私は答えを追加しました –

関連する問題