我常做的是通信方面的软件对数据库不太熟,恳求一SQL语句:表: ID Field1 Field2 Field3 sSign 1 120.0 100.0 50.2 1
2 100 50 20 2
1 20 0 10 1
//***********************************************************
字段field1/2/3都是金额,字段sSign是标志,代表是销售还是存款还是其它现在我想求的结果如下: ID Sum(Field1) Sum(Field2) Sum(Field3)
1 140 100 60.2主要是对每个字段根据条件求和再列出。在列出的表中的ID不能重复。
谢谢了,如果分不够可以加。
2 100 50 20 2
1 20 0 10 1
//***********************************************************
字段field1/2/3都是金额,字段sSign是标志,代表是销售还是存款还是其它现在我想求的结果如下: ID Sum(Field1) Sum(Field2) Sum(Field3)
1 140 100 60.2主要是对每个字段根据条件求和再列出。在列出的表中的ID不能重复。
谢谢了,如果分不够可以加。
解决方案 »
- 如何动态调用DLL?
- 打开图片到image 这么简单!我不会
- 如何让程序穿越防火墙?
- DBGrid相关?
- tbutton(sender)与(sender as tbutton)等价吗?如不等,请指出区别所在(最好有例子)。
- 在dephi中如何设置函数参数的默认值?
- 大家都用delphi正版软件开发吗
- 标点的处理
- 怎么样在DBGRID里输完一条记录后自动换行???????
- 〓〓〓〓 请问哪里有比较好delphi书籍下载 〓〓〓〓
- Indy sendmail 出现Spamming is Prohibited错误,请帮忙。
- 在cxGrid的cxGrid1DBTableView1的指定字段中,如何加入一个像DBGrid的表格浏览控件?
select id,sum(Field1),sum(Field2),sum(Field3) from table1 group by id
from table group by id
group by id
group by id
group by id
2 100 50 20 2
1 20 0 10 1
//***********************************************************
字段field1/2/3都是金额,字段sSign是标志,代表是销售还是存款还是其它现在我想求的结果如下:
//*********************************************************************************** ID Sum(Field1)(条件是sSgin=1) Sum(Field2)(条件是sSgin=2) Sum(Field3)(等等)
1 140 100 60.2主要是对每个字段根据条件求和再列出。在列出的表中的ID不能重复。
谢谢了,如果分不够可以加。
from table group by id,sSign
-------------
这样就可以了
我常做的是通信方面的软件对数据库不太熟,恳求一SQL语句:表: ID Field1 Field2 sSign 1 120.0 5 1
1 10 50 2
2 20 0 1
2 0 80 2
1 10 0 1
1 0 10 2
//***********************************************************
字段field1/2/3都是金额,字段sSign是标志,代表是销售还是存款还是其它现在我想求的结果如下:
//***********************************************************************************
ID field1 field2
1 130 60
2 20 80主要是对每个字段根据条件求和再列出。在列出的表中的ID不能重复。
谢谢了,如果分不够可以加。???????????????????????????????????????????????????????????????
我想现在可以理解了吧,谢谢大家!
结果中的field2是要据sSing=2求和
(select sum(field1) from table1 where sSign=1 and ID= x.ID) as field1,
(select sum(field2) from table1 where sSign=2 and ID= x.ID) as field2
from
(select distinct id from table1) x
把这句
select x.id
改为
select distinct x.id,
就可以了,我已经试过了
(select sum(field1) from table1 where sSign=1 and ID= x.ID) as field1,
(select sum(field2) from table1 where sSign=2 and ID= x.ID) as field2
from
(select distinct id from table1) x
--------- 这个应该可以的!
sum(case sSign when 2 then field2 else 0 end) as sumF2WhileMark2,
sum(field3) as sumF3
from test a
group by id
用这个,应该效率会高一点
我测过应该能满足楼主要求
有这么多方法
楼主可以结贴了吧