该特定字段'stu_id'可以参考SQL语句中FROM子句列表中的多个表?怎么解决

SELECTstu_id,name,depart_name,course_name,scoreFROMDepartment,Student,Course,Course_r... SELECT stu_id,name,depart_name,course_name,score
FROM Department,Student,Course,Course_record
WHERE Department.depart_id=Student.depart_id
AND Student.stu_id=Course_record.stu_id
AND Course_record.Course_id=Course.Course_id
AND Course_id='501';
展开
 我来答
hit_lubin
推荐于2017-12-15 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2013万
展开全部
stu_id在你from表的列表中有多个表包含这个字段,而你查询的字段没有前缀的表名,所以无法判断到底取的哪个表的这个字段。
加上前缀就好了
select student.stu_id, name,depart_name,course_name,score
FROM Department,Student,Course,Course_record
WHERE Department.depart_id=Student.depart_id
AND Student.stu_id=Course_record.stu_id
AND Course_record.Course_id=Course.Course_id
AND Course_id='501';
追问
我们课程要求是查询选修了501课程的学生信息,按照你的方法可以了。但是需要输入参数值
Student.stu_id 这是为什么啊?求指教
追答
你看看你的关联语法就知道了,你写一个查询的时候,数据库解析你的语法,一定要知道你SELECT后边每一个字段的出处才能到相关表去获取数据,这个明白么?
他会解析你SELECT后边FROM前边的所有字段,然后根据FROM后边的表解析每个字段出自哪个表。
而你看STU_ID,看WHERE条件Student.stu_id=Course_record.stu_id,从这句话就可以知道你这两个表都有这个字段,你让数据库怎么解析,到底取哪个表的STU_ID字段呢?所以你要指定这个字段的出处,同样,那个STUDENT.STU_ID你也可以改成COURSE.STU_ID,效果一样。而NAME等等其他的字段,这个名字是唯一的,所以你可以不指定。

举个例子,比如一个学校里面好多重名的学生,你用一个名字,怎么能确定是哪个人呢?是不是还要指定人家的班级才行?你就当stu_id时我举例的学生名,而所在的表,就是班级。你想想看。
保持你原有结构,这个语句改成
select student.stu_id as stu_id, name,depart_name,course_name,score
FROM Department,Student,Course,Course_record
WHERE Department.depart_id=Student.depart_id
AND Student.stu_id=Course_record.stu_id
AND Course_record.Course_id=Course.Course_id
AND Course_id='501';
顺眼还虔诚丶喜鹊8195
2011-06-24 · TA获得超过890个赞
知道小有建树答主
回答量:1287
采纳率:0%
帮助的人:938万
展开全部
不是很清楚你的意思
是不是
SELECT Student.stu_id,name,depart_name,course_name,score
FROM Department,Student,Course,Course_record
WHERE Department.depart_id=Student.depart_id
AND Student.stu_id=Course_record.stu_id
AND Course_record.Course_id=Course.Course_id
AND Course_id='501';
更多追问追答
追问
为什么还要输入参数值啊?
追答
多个表中有这个stu_id字段啊,所以要说明你需要的是哪个表中的stu_id字段
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
散落光华
2012-06-04
知道答主
回答量:21
采纳率:0%
帮助的人:9.6万
展开全部
你是华科大的吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式