2011-10-30 82 views
2

包含以下幾列和號碼的MS-SQL2000表:辦理SQL,總結每一行,並插入到另一個表

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腳本,並會爲每個以下行 其中狀態= 1:

-multiply - >答案=乘列 '計數' 與列 '乘法'

然後:

計數到TAL答案和總和爲每個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或建議是值得歡迎的如何完成這個

+0

我不認爲這真的與傳統的ASP ..反正你得到了什麼,到目前爲止的答案嗎? –

+0

我在這個階段得到了唯一的理論 - 我只是在這個問題上使用transact sql閱讀sql服務器上的sql書。它可以做到沒有asp – hhead

+0

糾正我的問題,所以它只是asp。 – hhead

回答

0

'score'=源表。

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; 

[編輯]更改查詢上的第一個評論

+0

更新了答案。 (它不是一個asp解決方案...) –

+0

謝謝你的回答。這真的很有用 – hhead

+1

不客氣。很高興幫助你。習慣上通過點擊帖子上的勾號圖標來接受答案。 –

相關問題