SQL SERVER 2000上用连接查询出现错误??

来源:百度知道 编辑:UC知道 时间:2024/09/21 04:06:14
打入下面代码时出现错误??怎么会这样??
select students.sno,sname,cname,grade
from students,reports,courses
where students.sno=reports.sno and reports.cno=courses.cno
不好意思!
在表名是students下显示的是:
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'reports' 无效。
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'courses' 无效。

不是啊,我已经创建了reports ,courses表了!!!

语句无错
字段名或表名对吗?报的到底是什么错?
您这个语句表达出的意思是:你有STUDENTS,REPORTS,COURSES三个表,三个表同样都有一个字段CNO,并且可能是关键字段,您要通过这个字段将三个表连起来。
而现在报出的错误是,你的REPORTS和courses这两个表在当前数据库中不存在。这与您后来补充说明的只有一个STUDENTS情况相符,所以:
要在数据库加入这两个表才行。
==================================
请直接在查询分析器输入
select students.sno,sname,cname,grade
from students,reports,courses
where students.sno=reports.sno and reports.cno=courses.cno
SELECT * FROM REPORTS
SELECT * FROM COURSES
试试,如果报错相同,说明您建立的表不在本数据库中或建立的不是表,也不是视图而是其它对象

报的是什么错 你不说 谁知道啊

students reports 表是否都有sno字段
reports courses 表是否都有cno字段
他们的类型是否一样

检查下,你SELECT里面引用的列,是否是多个表共同拥有的?如果共同拥有,你需要指定隶属于哪个表.也就是 表名.列名

在进行多表连接的时候,我还是建议是用JOIN吧。
还有,你的表建PK和FK没。

这问题关注下