如何从SQL SERVER 2000一次把需要的数据取出?(100分)

  • 主题发起人 主题发起人 vcok
  • 开始时间 开始时间
V

vcok

Unregistered / Unconfirmed
GUEST, unregistred user!
我的系统中有一个表,只有两个字段: id(integer) , number(integer), 现有如下数据:
id number
1 10
1 15
2 1
2 1
3 4

我想取出对应于每个id的number的总和,在Access数据库中我用的是这样的语句:
Select Sum(iif(id=1,number,0)),Sum(iif(id=2,number,0)),Sum(iif(id=3,number,0))
这样就可一次求出3个id的number总和,现在我的数据库改为Sql Server 2000, iif函数不再支持,请问有什么合适的方法能一次取出3个id的number总和呢?

注: 我上面只写了3个id,在实际中有12个id, 如果分开取总和要算12次,速度有些慢,所以尽量一次取出.
 
你先弄个数组,在数组里实现不就简单多了?

 
select sum(number) from aTable group by id
 
或者利用子查询,
Select Distinct
ID,
(Select sum(number) from MyDb as TB1 Where TB1.ID=MyDB.ID) as NewNumber
From MyDB


 
接受答案了.
 
后退
顶部