多表更新
举例:从2018-6-1开始,单据编号的规则发生改变,把表test2中,日期大于等于2018-6-1的单据编号更新到表test1。
update t1 set t1.FBillNo=t2.FBillNo
from test1 t1
left join test2 t2 on t1.FID=t2.FID
where t2.FDate>='2018-6-1' --把下面表test2的2行数据 更新到上面表test1里面
常用的应用
金蝶里面业务单据,一般有2个表,即单据头,单据体,即多表;
例如修改某个单据的单价,暂时以K3 WISE为例(目前还没不熟悉星空...)
1、先找到单据编号(单据头表ICStockBill )
2、单价(单据体表 ICStockBillEntry)
UPDATE T2
SET T2.FConsignPrice=填写实际单价
from ICStockBill t1
join ICStockBillEntry t2 on t1.finterid=t2.finterid
where t1.ftrantype=21 and t1.FBillNo='XOUT013102'
and FEntryID=1 ---这里填写分录号。
以上只是举例,没有考虑业务逻辑关系,请先到备份账套测试;
作业
由于农业研究专业今年获得重大比赛奖项,本次期末成绩,每人都加分2分。
请给农业研究专业的全体同学加分2分(用update语法)。
写法一:
update t1
set t1.score=t1.score+2
from exam t1
left join Special_To_Subject t2 on t1.subjectid=t2.SubjectID
left join Speciality t3 on t2.SpecialID=t3.ID
where t3.name='农林研究专业'