不唯一 table/alias (42000)
Not unique table/alias (42000)
我收到错误 ERROR 1066 (42000):不唯一 table/alias:'STUDENT_TBL'
select STUDENT,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);
如何解决?
如果您使用架构和表名,则必须像这样用点分隔它们
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);
您应该使用 '.'
而不是 ','
来访问 Table_Name.column_name
。
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
这样的别名,而 selecting select 子句中的列,如果它们出现在多个 table
中
我收到错误 ERROR 1066 (42000):不唯一 table/alias:'STUDENT_TBL'
select STUDENT,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);
如何解决?
如果您使用架构和表名,则必须像这样用点分隔它们
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);
您应该使用 '.'
而不是 ','
来访问 Table_Name.column_name
。
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
这样的别名,而 selecting select 子句中的列,如果它们出现在多个 table