如何用SQL语句或存储过程对一个表实现这样的更新功能?

baixue1017 2003-09-27 10:17:15
如奖罚情况表(JFQK)中的字段如下
lib reday ysnopay ybnopay jbnopay nopay
永塑   2002-1-1                   1000 
永塑   2002-2-1                   2000
永包   2002-1-1                   2030
经营部  2002-1-1                   2050
总部   2002-1-1                   5080
请问如何把日期(reday)相同的记录作如下处理:
若lib为永塑则让ysnopay=nopay (如第一条记录ysnopay=1000)
若lib为永包则让ybnopay=nopay (如第三条记录ybnopay=2030)
若lib为经营部则让jbnopay=nopay (如第四条记录jbnopay=2050)
若lib为总部则把前面日期相同的lib为永塑、永包、经营部的nopay值分别赋于lib为总部的ysnopay,ybnopay,jbnopay (如最后一条记录ysnopay=1000,ybnopay=2030,jbnopay=2050)望各位高手指点,解决即给分
...全文
81 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
baixp123 2003-09-27
  • 打赏
  • 举报
回复
UPDATE jfqk
SET JFQK.ysnopay = J1.nopay, ybnopay = J2.nopay,jbnopay=J3.nopay
FROM JFQK, JFQK AS J1, JFQK AS J2
WHERE JFQK.lib = '总部' AND J1.lib = '永塑' AND J2.lib = '永包'and J3.lib='经营部' AND
JFQK.reday = J1.reday AND JFQK.reday = J2.reday AND JFQK.reday = J3.reday and
JFQK.company = J1.company AND JFQK.company = J2.company and JFQK.company = J3.company

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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