以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  u pdate语句  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149530)

--  作者:cuicuibing
--  发布时间:2020/5/5 13:03:00
--  u pdate语句
表a

编号    学习     零工     装车   
 1       2000   2600    3000


表b

编号   方式   时间   工资   单号  姓名
  1      学习    9              001  aa
  1      零工    10            001  bb

以上表的形式,用

Dim cmd As New SQLCommand
cmd.C
Dim cur As String = "pg0000021467"
cmd.CommandText = "u pdate 表b  SET 工资 = 时间 * b.(\'"& a.方式 &"\')/30/9  from 表b as a  left join (s elect * from 表a) As b on a.编号 = b.编号 where 单号 = \'001‘”
cmd.ExecuteNonQuery()

请教版主,标红的部分,应该怎么写

--  作者:有点蓝
--  发布时间:2020/5/5 13:51:00
--  
如果方式只有少数几种,可以这样

cmd.CommandText = "u pdate 表b  SET 工资 = 
时间 * (case when a.方式=\'学习\' then b.学习 when a.方式=\'零工\' then b.零工 else b.装车 end )/30/9  from 表b as a  left join (s elect * from 表a) As b on a.编号 = b.编号 where 单号 = \'001‘”

如果比较多,且不固定,没有办法一条sql搞定

--  作者:cuicuibing
--  发布时间:2020/5/5 14:53:00
--  
谢谢版主