请教这种查询怎么写,头一回做这种
要把旧表的形式用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.次数