sql update ?

gracedida 2009-12-02 11:39:44
楼主发表于:2009-12-02 20:11:15在 VF中,有两个表,xsjbxx 表中有学号,姓名,性别字段。
cj表中 有 学号,课号,成绩字段。

要求:给所有男生成绩加1分。

以下SQL正确,
Update cj set 成绩=成绩-1;
Where alltrim(学号) in (select alltrim(学号) from xsjbxx where 性别='男')

为什么以下SQL不正确?无法实现正确更新。

Update cj set 成绩=成绩+1;
Where alltrim(xsjbxx.性别)='男' and alltrim( xsjbxx.学号) =alltrim(cj.学号)

??

我试验了,

select * from cj,xsjbxx;
Where alltrim(xsjbxx.性别)='男' and alltrim( xsjbxx.学号) =alltrim(cj.学号)

也正确。

多谢!
...全文
34 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2009-12-03
  • 打赏
  • 举报
回复
如果是 VFP9.0

可以这样试试:
Update cj set 成绩=成绩+1 from xsjbxx;
Where alltrim(xsjbxx.性别)='男' and alltrim(xsjbxx.学号)=alltrim(cj.学号)


如果是 VFP9.0 以下,还用你这个代码
Update cj set 成绩=成绩-1;
Where alltrim(学号) in (select alltrim(学号) from xsjbxx where 性别='男')
十豆三 2009-12-03
  • 打赏
  • 举报
回复
因为
Update cj set 成绩=成绩+1;
Where alltrim(xsjbxx.性别)='男' and alltrim( xsjbxx.学号) =alltrim(cj.学号)

中没有打开表 xsjbxx

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧