一个2表联查,在oracle11g,运行报错:ORA-00904: "STUDENT_COURSE"."SCORE": 标识符无效
selectstudent.student_id,student.student_name,student_course.scorefromstudentst,stude...
select student.student_id,student.student_name,student_course.score
from student st,student_course sc
where st.student_id=sc.student_id and sc.course_id='0001' order by sc.score desc; 展开
from student st,student_course sc
where st.student_id=sc.student_id and sc.course_id='0001' order by sc.score desc; 展开
1个回答
展开全部
从字面看是表student_course里面没有这个score字段,你先去数据库里面确认下是不是真没有。
然后这个语句的写法有点奇怪,你给了表别名,为啥在查询中不用?
改成这样子试下:
select st.student_id,st.student_name,sc.score
from student st,student_course sc
where st.student_id=sc.student_id and sc.course_id='0001' order by sc.score desc;
然后这个语句的写法有点奇怪,你给了表别名,为啥在查询中不用?
改成这样子试下:
select st.student_id,st.student_name,sc.score
from student st,student_course sc
where st.student_id=sc.student_id and sc.course_id='0001' order by sc.score desc;
更多追问追答
追问
我使用了,你提供的sql,没有报错,咱俩唯一的区别是我上面没有使用别名,目前不清楚什么原因,请讲下,麻烦了
追答
我理解是前后不统一,如果用了别名就全用,要不就都不要用,混着来oracle不认识
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询