首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请问这种查询如何写,头一回做这种

2012-01-31 
请教这种查询怎么写,头一回做这种要把旧表的形式用SQL语句转换成新表那样的形式,是ACCESS旧表:姓名 分数次

请教这种查询怎么写,头一回做这种
要把旧表的形式用SQL语句转换成新表那样的形式,是ACCESS


旧表:

姓名 分数 次数
aaa 70 第1次
aaa 65 第2次
bbb 90 第1次
bbb 55 第2次


新表:

姓名 第1次 第2次
aaa 70 65
bbb 90 55



请教如何写SQL呢,谢谢


附:新表中的列标题可以随意

[解决办法]

SQL code
select a.姓名,分数 AS 第一次,分数 AS 第二次from (select 姓名,分数 AS 第一次from tablewhere 次数='第一次') afull join (select 姓名,分数 AS 第二次from tablewhere 次数='第二次') bon a.姓名=b.姓名
[解决办法]
建议 ‘次数’用integer或long,速度快。
[解决办法]
SQL code
--假如数据库叫TestTBdeclare @s varchar(8000)select @s=isnull(@s,'select 姓名') + ',max(case when 次数=''' + 次数 + ''' then 分数 else '''' end) ['+次数 + ']' from testtb group by 次数exec(@s + ' from testtb group by 姓名')
[解决办法]
SQL code
select A.姓名,A.分数 as 第1次,B.分数 as 第2次 from (select 姓名,分数,次数 from 旧表 where 次数='第1次') as A , (select 姓名,分数,次数 from 旧表) as B where A.姓名=B.姓名 and A.次数<>B.次数 

热点排行