有没好的SQL语句实现功能,在前台做的性能不理想,
表 Test
ID Value
-------------------
A 2.0
A 3.0
A 2.5
A 2.3
B 1.3
B 1.6
C 1.7
C 1.8
C 2.2
产生如下结果
NewID A B C
1 2.0 1.3 1.7
2 3.0 1.6 1.8
3 2.5 2.2
4 2.3
表 Test
ID Value
-------------------
A 2.0
A 3.0
A 2.5
A 2.3
B 1.3
B 1.6
C 1.7
C 1.8
C 2.2
产生如下结果
NewID A B C
1 2.0 1.3 1.7
2 3.0 1.6 1.8
3 2.5 2.2
4 2.3
解决方案 »
- 真诚请教一个RxRichEdit的问题
- win2k开发的程序再xp下不可用,急。。。。高手帮忙看看 ,在线等
- 在线急等:不能批导入excel数据到access数据库的问题,谢谢!
- 计算字段 与 总计字段
- 各位谁能给我一个例子,在一个exe中调用一个package中的子窗口.
- 一个MDI程序中子窗口(MDIChild)显示的问题?请各路英雄帮忙!
- SQL中的小问题
- 这个SQL条件语句不知道怎么写(还是不懂)?
- 急急急急 请问各位师兄如何在报表组件中
- :开始实习,我也不得不放弃我最喜欢的Delphi了。因为公司用的是PB6+Informix+Unix……
- 伊拉克人民 100% 支持萨达姆,不信请看
- 级别:特级,关于dbexpress存取jpeg图片到sql2000中
use decode
in db2:
use case
in sql server:
use iif
sum(case ID when A then value else 0 end) A,
sum(case ID when B then value else 0 end) B,
sum(case ID when C then value else 0 end) C
from test
group by ID
或者使用通用的方法:j9988的帖子
create table #temp(field1 varchar(10),field2 int)
go
declare @a varchar(10)
declare @b int
declare @sql nvarchar(300)
declare ctr cursor for
select field1 from tableB
open ctr
fetch next from ctr into @a
while @@fetch_status<>-1
begin
set @sql='select top 1 @m='+@a+' from tableA '
exec sp_executesql @sql,N'@m int output',@b output
insert into #temp(field1,field2) values(@a,@b)
fetch next from ctr into @a
end
close ctr
deallocate ctr
go
select * from #temp