WEB 开发 开发语言 Java 技术 .Net 技术 数 据 库 硬件使用
图象媒体 Linux/Unix 移动平台 嵌入开发 Windows 专区 软件工程
Ajax 技术 | ASP | PHP | ASP.NET | C# | JSP | Access | Oracle | 网页设计 | Flash | 安全专题 | IIS | VC/MFC | Delphi | C/C++
 你的位置:首页 > .Net 技术 > C#

有实现这样的功能的Sql语句吗
[ 来源:ITWENKU 时间:2006-9-20 17:37:46 | 浏览:191人次 ]

表结构
Id Name Score
1 a 11
1 b 12
1 c 13
2 a 21
2 b 22
2 c 23
3 a 31
3 b 32
3 c 33
....

能不能实现查询过的结果这样显示:
ID a b c
1 11 12 13
2 21 22 23
3 32 32 33
....


如果不行我就在代码里转换了,如果行的请不吝赐教,谢谢。


Mark先


SELECT t.id, a = MAX(CASE t.NUM WHEN 1 THEN Score END),
b = MAX(CASE t.NUM WHEN 2 THEN Score END),
c = MAX(CASE t.NUM WHEN 3 THEN Score END)
FROM (SELECT *,
CASE WHEN [name]= 'a' THEN 1 WHEN [name]= 'b' THEN '2' ELSE '3' END
AS NUM
FROM table) t
GROUP BY t.id


Select distinct(Id),
a=(Select Score From Test Where Name='a' And Id=t.Id),
b=(select Score From Test Where Name='b' And Id=t.Id),
c=(select Score From Test Where Name='c' And Id=t.Id)
From Test t

不过,如果数据的呈现形式与业务有关,而且执行效率允许的话,建议楼主用代码来处理


to amoxicillin1030(BOBO~菜)
你的方法可行,不过正如你所说,效率可能不高,谢谢了。

to flyzq() ( )
你的方法运行不了啊

期待效率高的sql出现


to flyzq() ( )
不好意思,刚才又检查了一次,是可以的,不过不知道效率如何?
谢谢

 相关文章
·服务器是2003系统,原本装了.NET2.0 BETA版,但无法运行.NET2.0的WEB程序.然后卸载了2.0BETA版,装了.NET2.0正式简体中文版,出
·初学C#碰到的问题
·请问VB中的mid 方法 C# 是哪个?
·关于连接Oracle的奇怪问题
·继承了接口又有什么用?
·请问一下,c#.net中如何实现评论的第几楼的循环?

 推荐文章
接口的编程,哪位有相关的资料呢?
学习.Net的三个问题,请高手指点:Type与元数据,RTTI,垃圾回收
关于Panel和窗体和问题
关于Socket简单问题
关于连接Oracle的奇怪问题
如何在没安装。net。NET Framework的电脑上运行我的程序呢?
datetimepicker的奇怪问题
怎样做一个Windows Form服务来实现一些功能?
求关于触及bttn之后可以使另一个页面自动更新?
汉字之间加空格
如何判断 一个字符串可以转化为BOOL型
winForm的Icon问题
 版权所有:IT问库
copyright © 2006 www.itwenku.cn all rights reserved.