VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 736|回复: 5

有这种怪事??!!急,高手帮忙

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-22 23:00:01 | 显示全部楼层 |阅读模式
我在VB中不可以执行“
update spmsb set jhdj=(convert(numeric(20,4),a.xykc*jhdj)- -1*17)/(a.xykc- -1) from spmsb,
(select spkcb.spidh as spidh,sum(xykc) as xykc from SPKCB,spmsb
where SPKCB.spidh=spmsb.spidh and  spkcb.spidh=3158 group by spkcb.spidh) a
Where spmsb.spidh = a.spidh”该语句,但在SQL中就可以执行。请各位高手帮帮忙
回复

使用道具 举报

0

主题

14

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2020-5-6 16:15:01 | 显示全部楼层
convert(numeric(20,4),a.xykc*jhdj)- -1*17
有的地方最好加上括号
是减负1*17?
同样的语句SQL中执行VB中是会执行的
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-5-7 22:15:01 | 显示全部楼层
有没有括号是一样的,加了括号也不对啊
回复

使用道具 举报

0

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-5-8 11:00:01 | 显示全部楼层
好暈。
沒試過這樣update
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-5-11 22:45:01 | 显示全部楼层
提示被零除错误,但是我查看了数据库a.xykc=0,jhdj=17
回复

使用道具 举报

0

主题

6

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-7-6 17:45:02 | 显示全部楼层
VB中写:
数据源.Execute "update spmsb  set jhdj=(convert(numeric(20,4),a.xykc*jhdj)- (-1*17))/(a.xykc- (-1)) from spmsb
inner join (select spkcb.spidh as spidh,(case when sum(xykc)=-1 then 0 else sum(xykc)  end )as xykc   from SPKCB inner join spmsb
on  SPKCB.spidh=spmsb.spidh and  spkcb.spidh=3158 group by spkcb.spidh) a
on spmsb.spidh = a.spidh "
应该可以的 ,我经常这样写UPdate,要保证 (a.xykc- (-1)) <>0的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表