当我运行此SQL时会出现此错误。
#1052 - Column 'syear' in where clause is ambiguous
。任何人都给我回答。
SELECT c.course_id
, c.TITLE
, c.SHORT_NAME
, cs.overallmark
FROM courses c
, course_subjects cs
WHERE syear = '2010'
AND c.subject_id = cs.subject_id
ORDER
BY c.course_id
, c.TITLE
, c.SHORT_NAME
, cs.overallmark
答案 0 :(得分:3)
您的查询应如下所示:
SELECT c.course_id, c.TITLE, c.SHORT_NAME, cs.overallmark
FROM courses c JOIN
course_subjects cs
ON c.subject_id = cs.subject_id
WHERE c.syear = 2010
ORDER BY c.course_id, c.TITLE, c.SHORT_NAME, cs.overallmark;
注意:
FROM
子句中使用逗号。 始终使用正确的JOIN
语法。syear
存储为数字而不是字符串。不要在字符串常量周围加上引号。答案 1 :(得分:1)
您的两个表中都有一个名为syear
的列,数据库引擎不知道要选哪一个。
在其前面添加表名
course_subjects.syear
除此之外,您不应再使用旧的隐式连接语法。