注册 登录
编程论坛 SQL Server论坛

求SQL语句

zysoft888 发布于 2020-12-26 17:16, 3390 次点击
SQL数据表结构如下:

凭证类别    凭证号    分录号    关联关系
财务        0001    1        ABCD
财务        0001    2        ABCD
财务        0002    1        EFGH
财务        0002    2        EFGH
财务        0002    3        EFGH
预算        0008    1        ABCD
预算        0008    2        ABCD
预算        0008    3        ABCD
预算        0009    1        EFGH
预算        0009    2        EFGH

凭证类别分“财务”和“预算”两种,财务和预算凭证通过关联关系字段产生关联关系,
比如:财务的0001和预算的0008关联字段都是“ABCD”,所以具有对应关联关系;
同样财务的0002与预算的0009也因为具有相同的关联字段“EFGH”而产生关联关系。

现在需要做的是通过SQL语句将预算会计的凭证号批量修改为具有相同关联关系的财务会计的凭证号,
实现财务与预算的凭证号一致,也就是实现将预算0008修改为0001,0009修改为0002
3 回复
#2
mywisdom882020-12-27 22:33
update t1 set t1.凭证号=t0.凭证号
 from 你表 as t1,(select 凭证类别,凭证号,分录号,关联关系 from 你表 where 凭证类别='财务') as t0
 where t1.凭证类别='预算' and t1.关联关系=t0.关联关系

这样,应该可以
#3
sssooosss2020-12-28 08:22
共同学习
#4
ytmking2021-04-07 22:30
直接用update,将那两个要改的批量更新一下就行,不要搞那么复杂。
1