疑难问题
表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
哪位朋友帮帮忙。
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
哪位朋友帮帮忙。
...全文
相关推荐
《ANSYS疑难问题实例详解》随书附件_APDL_vreadcannot_ansys疑难问题解析_ansys疑难问题_ansys
用于ansys初学者掌握apdl命令流,包括静力分析和动力分析的各种问题求解说明,提高ansys建模分析问题的能力
疑难问题处理流程.doc
疑难问题处理流程.doc疑难问题处理流程.doc
小学数学疑难问题研究.doc
小学数学疑难问题研究.doc
java疑难问题解惑
java程序里的疑难问题,比如:i =++i;与i=i++;的区别;char类型相加;窄数字类型提升至宽类型时使用符号位扩展还是零扩展等等类似的问题。
电脑常见疑难问题.rar
电脑常见疑难问题.电脑常见疑难问题.电脑常见疑难问题.电脑常见疑难问题.电脑常见疑难问题.电脑常见疑难问题.


疑难问题
