transact SQL,对每一行求和并插入另一个表中

时间:2011-10-30 07:50:01

标签: sql-server asp-classic

表示ms-sql2000上包含以下列和数字的表:

S_idJ_id    Se_id   B_id    Status  Count   multiply
63  1000    16  12  1   10  2       
64  1001    12  16  1   9   3       
65  1002    17  12  1   10  2       
66  1003    16  12  1   6   3       
67  1004    12  16  1   10  2       

我想生成一个经典的asp脚本,它将为每一行执行以下操作 status = 1:

-multiply - > answer =将列''count'与'multiply'列相乘

然后:

计算每个se_id的总答案和总和,如:

se_id   total
12      47
16      38
17      20

并在屏幕上显示

Rank    se_id   total
1       12      47
2       16      38
3       17      20

条件: 如果有多个相等的总值,则为较低编号的se_id赋予优先权 获得排名并给出下一个更高编号se_id排名

的下一个数字

欢迎使用经典asp或建议中的任何示例代码来了解如何完成此任务

1 个答案:

答案 0 :(得分:0)

'得分'=来源表。

if (EXISTS (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'result_table')) 
begin
  drop table result_table;
end

select 
  rank = IDENTITY(INT,1,1), 
  se_id, sum(multiply * count) as total
into result_table
from score
where status = 1
group by se_id
order by total desc, se_id;

[编辑]将查询更改为第一条评论的答案