字段列表中的列 'SSN' 不明确
Column 'SSN' in field list is ambiguous
我有三个 table,即学生、注册和课程。我想获取有关参加计算机体系结构课程的学生的信息(他们的 SSN、名字和姓氏)。
我写了一个类似
的查询
select SSN,First_Name,Last_Name,Course_Name='Computer Architecture'
from STUDENT s,ENROLLS e,COURSE c where s.SSN=e.SSN and e.CourseNo=c.CourseNo;
并收到一条错误消息:
ERROR 1052 (23000): Column 'SSN' in field list is ambiguous
我的table结构如下
Student(SSN,First_Name,Last_Name,Street,City,Zip,State)
Course(CourseNo,Course_Name,Department)
Enrolls(SSN,SectionNo,CourseNo)
我哪里弄错了?
你只需在它的 forint 中添加别名,这样它就变得明确了
我也改成了 JOINs ,你这个方法已经过时很多年了
SELECT
e.SSN,
First_Name,
Last_Name,
Course_Name = 'Computer Architecture'
FROM
STUDENT s
INNER JOIN
ENROLLS e ON s.SSN = e.SSN
INNER JOIN
COURSE c ON e.CourseNo = c.CourseNo;
SQL 支持通过在引用前加上完整的 table 名称或 table 别名来限定列:
SELECT
e.SSN,
First_Name,
Last_Name,
Course_Name = 'Computer Architecture'
FROM STUDENT s
JOIN
ENROLLS e ON s.SSN = e.SSN
JOIN
COURSE c ON e.CourseNo = c.CourseNo;
我有三个 table,即学生、注册和课程。我想获取有关参加计算机体系结构课程的学生的信息(他们的 SSN、名字和姓氏)。
我写了一个类似
的查询select SSN,First_Name,Last_Name,Course_Name='Computer Architecture'
from STUDENT s,ENROLLS e,COURSE c where s.SSN=e.SSN and e.CourseNo=c.CourseNo;
并收到一条错误消息:
ERROR 1052 (23000): Column 'SSN' in field list is ambiguous
我的table结构如下
Student(SSN,First_Name,Last_Name,Street,City,Zip,State)
Course(CourseNo,Course_Name,Department)
Enrolls(SSN,SectionNo,CourseNo)
我哪里弄错了?
你只需在它的 forint 中添加别名,这样它就变得明确了
我也改成了 JOINs ,你这个方法已经过时很多年了
SELECT
e.SSN,
First_Name,
Last_Name,
Course_Name = 'Computer Architecture'
FROM
STUDENT s
INNER JOIN
ENROLLS e ON s.SSN = e.SSN
INNER JOIN
COURSE c ON e.CourseNo = c.CourseNo;
SQL 支持通过在引用前加上完整的 table 名称或 table 别名来限定列:
SELECT
e.SSN,
First_Name,
Last_Name,
Course_Name = 'Computer Architecture'
FROM STUDENT s
JOIN
ENROLLS e ON s.SSN = e.SSN
JOIN
COURSE c ON e.CourseNo = c.CourseNo;