子查询,返回的值多于一个,不能用“=”。
楼主是想,用dor1.leaveNum,一一对应更新Dor_leaveBedNum吗?试下以下语句吧:
update dormitory
set Dor_leaveBedNum=dor1.leaveNum
from dor1,dormitory
where dor1.num=dormitory.Dor_num
楼主是想,用dor1.leaveNum,一一对应更新Dor_leaveBedNum吗?试下以下语句吧:
update dormitory
set Dor_leaveBedNum=dor1.leaveNum
from dor1,dormitory
where dor1.num=dormitory.Dor_num
解决方案 »
- 我刚刚接近IT 不知道现在的IT业怎么样
- 我先装2005,后装2000, 但2000的无法登陆的呢
- 为什么不能在VFP中向SQL2000中创建数据表?
- 我在数据库里面只建两个表,我想在这两张表建立外键,不建第三张表做关系表,可以吗?
- 数据库运行后的问题
- 数据库的log文件太大了,请问如何处理?
- ACCESS中,有没有SQL语句查询获得表名和字段名?
- 如何解决用ADO访问SQL SERVER数据库造成的内存泄露问题?
- 关于存储过程中查询条件和排序动态生成的问题
- 我想实践一下,于是我想写一个库,那位能提供些原始材料吗??[email protected]
- 如何检测SQLSERVER的AGENT是否有被开启
- 如何检查触发器是否已被屏蔽?
set Dor_leaveBedNum=(select top 1 dor1.leaveNum
from dor1,dormitory where dor1.num=dormitory.Dor_num)
一般这样错误我都把=号 换成in
不过效率低了点 但是这句我编译没错误。运行就不知道了回楼上,你编译的时候只是检查语法上的错误,
而在语法上你这条SQL语句是没有错的.
你这条SQL语句在运行的时候如果字查询返回记录为
1条时就不会出错了.
而你更新的是一条数据,
或者说你的条件dor1.num=dormitory.Dor_num 不能确定唯一的一行记录。
看一下你的字段(num,Dor_num )中是否有NULL的记录