疑难问题

HappyQQ HappyQQ 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
表TblCustomerTest有以下字段.
CustomerNo,CustomerName
'A001','A0001对应的名称'
'A002','A0002对应的名称'
'A003','A0003对应的名称'
'A004','A0004对应的名称'
'A005','A0005对应的名称'
'A006','A0006对应的名称'

表TblNode有以下字段(注MainBranch只取固定值'0001','0002','0003','0004',BankNodeNo 只取TblNode表字段NodeNo值字段)
NodeNo,NodeName,CustomerNo,MainBranch,BankNodeNo
内容如下,
'N0001','N0001Name','A001','0001','N0002'
'N0002','N0002Name','A001','0001','N0003'
'N0003','N0003Name','A003','0002,'N0003'
'N0004','N0004Name','A003','0002,'N0003'
'N0005','N0005Name','A004','0003,'N0004'
'N0006','N0006Name','A004','0004,'N0003'
'N0007','N0007Name','A005','0001,'N0003'
'N0008','N0008Name','A006','0003,'N0005'
'N0009','N0009Name','A006','0004,'N0005'

已知一个结果表TblReportB表:
CustomerNo,MainBranch,Cost,OtherNum
'A001','0001',1000,0
'A002','0002',1200,0
'A003','0002',1300,0

我需要核算TblReportB表中的OtherNum值.需要以下处理.

更新TblReportB的OtherNum字段需要符合以下要求.
统计TblNode的CustomerNo属于TblCustomerTest,且MainBranch属于固定值'0001','0002','0003','0004',
并且BankNodeNo属于TblNodes的值.

我的处理方式如下,但不是我想要的结果。
请大家帮我处理一下游标中的SQL语句。


DECLARE crsBranch CURSOR FORWARD_ONLY STATIC FOR
--四个固定值
Select BranchNo = '0001'
Union All
Select BranchNo = '0002'
Union All
Select BranchNo = '0003'
Union All
Select BranchNo = '0004'

OPEN crsBranch
FETCH NEXT FROM crsBranch INTO @MainBranch
WHILE @@FETCH_STATUS = 0
BEGIN

Update [TblReportB]
Set OtherNum = b.SNodeNum
From [TblReportB] as a
Join (
Select Cust.CustomerNo,SNodeNum = Count(*) From
TblNode Node
Left Join
TblCustomerTest Cust
On Cust.CustomerNo = Node.CustomerNo And Node.MainBranch=@MainBranch
And Node.BankNodeNo in
(
Select Node.NodeNo From
TblNode Node
Left Join
TblCustomerTest Cust
On Cust.CustomerNo = Node.CustomerNo And Node.MainBranch=@MainBranch
)
Group by Cust.CustomerNo
Having Cust.CustomerNo is not null
) as b
On a.CustomerNo =b.CustomerNo And MainBranch =@MainBranch
FETCH NEXT FROM crsBranch INTO @MainBranch
END

DEALLOCATE crsBranch



我需要的结果是:
预期结果表TblReportB表的值:
CustomerNo,MainBranch,Cost,OtherNum
'A001','0001',1000,2
'A002','0002',1200,0
'A003','0002',1300,2

哪位朋友帮帮忙。
...全文
评论 23
收藏 已收藏
分享
返回顶部
HappyQQ
疑难问题 22,298 成员 121,727 内容