|
本帖最后由 horse0918 于 2024-3-6 18:43 编辑
表1
项目编号 合同编号 合同名称 合同金额 结算金额
X001 T01 10000
X001 T02 20000 0
X002 T04 15000 10000
X002 T05 15000
x002 T06 20000
表2
合同编号 已拨金额
T01 5000
T02 12000
T04 800
T05 2000
说明:表1是所有项目所有合同的列表,但由于录入原因部分合同结算金额未录的为空,视为0,认为该合同未结算。表2,由于是过程管理,所以一些合同到目前未发生拨款金额,求:产生一个新字段,命名 未拨金额 规则:当合同结算=0或合同金额=“” 时,未拨金额=合同金额-已拨金额,否则 未拨金额=结算金额-已拨金额;且要求表3,不在表1的合同,其未拨金额需计算。
结果效果如表3
项目编号 合同编号 合同名称 合同金额 结算金额 已拨金额 未拨金额
X001 T01 10000 5000 5000
X001 T02 20000 0 12000 8000
X002 T04 15000 10000 800 9200
X002 T05 15000 2000 13000
x002 T06 20000 20000
我试了
sqlstr = "SELECT a.项目编号, a.合同编号,a.合同名称,a.合同金额,a.结算金额,b.已拨金额,"
sqlstr = sqlstr & "iif(a.结算金额=0 or a.结算金额=“”,a.合同金额-b.已拨款金额,a.结算金额-b.已拨金额) as 未拨金额 from 表1 as a left join 表2 as b on a.合同编号=b.合同编号"
提示错误,请大侠们帮忙!
|
|