Stored procedures 在sql2000中分配值

Stored procedures 在sql2000中分配值,stored-procedures,sql-server-2000,Stored Procedures,Sql Server 2000,#临时表 iPriority_num GCAMOUNT 221143 2000.00 221255 1500.00 #临时工作台 iPriority_num sPlu_cd iDetail_num siTem_cd ITEMAMOUNT 221143 0660 1 ACN00660 6000.00 221255 0112 1 CON00112

#临时表

iPriority_num    GCAMOUNT
221143           2000.00
221255           1500.00
#临时工作台

iPriority_num  sPlu_cd  iDetail_num siTem_cd   ITEMAMOUNT
221143          0660     1           ACN00660    6000.00
221255          0112     1           CON00112     500.00
221255          0134     2           HAI00134     750.00
221255          0851     3           FPR50074     249.00
221255          0008     4           FNU30200     300.00
221255          0856     5           MICO0001     297.00
这是我的剧本

SELECT t.iPriority_num as [TransactionID]
,t.iDetail_num as [Order ID],t.sPlu_cd AS [ItemCode]
,t.ITEMAMOUNT
,d.GCAMOUNT as [GC Payment]
,CASE WHEN d.GCAMOUNT < t.ITEMAMOUNT 
THEN (d.GCAMOUNT / CAST((SELECT COUNT(*) as cnt FROM #tempV t2 where t.iPriority_num = t2.iPriority_num) AS decimal(10,2))) 
ELSE
d.GCAMOUNT − t.ITEMAMOUNT
END AS DistributedAmt
FROM #tempV t
INNER JOIN #tempR dON d.iPriority_num = t.iPriority_num
结果

TransactionID   OrderID  ItemCode   ITEMAMOUNT   GC Payment    DistributedAmt
221143          1      0660        6000.00      2000.00         2000.00
221255          1      0112        500.00       1500.00         1000.00
221255          2      0134        750.00       1500.00          750.00
221255          3      0851        249.00       1500.00         1251.00
221255          4      0008        300.00       1500.00         1200.00
221255          5      0856        297.00       1500.00         1203.00
期望输出

TransactionID   OrderID  ItemCode   ITEMAMOUNT   GC Payment    DistributedAmt
221143          1      0660        6000.00      2000.00         2000.00      
221255          1      0112        500.00       1500.00          500.00
221255          2      0134        750.00       1500.00          750.00
221255          3      0851        249.00       1500.00          249.00 
221255          4      0008        300.00       1500.00            1.00
221255          5      0856        297.00       1500.00            0.00

我只想分配每个项目的金额,如果项目金额低于GC付款

请包括
#tempV
#tempR
中的样本数据,作为
插入到#tempV…
您真的还在使用
SQL Server 2000
?解决方案的选择相当有限。主要是
row\u number()
like窗口函数不可用。@Squirrel I已经包括了这两个表。这是一个使用sql 2000的旧系统