。。
select a,max(case when c='xx' then b else null) xx
……
from table group by a
select a,max(case when c='xx' then b else null) xx
……
from table group by a
解决方案 »
- 请问一个SQL语句统计对应多个记录,只选择其中一条记录的办法
- 不好意思,还是不得不让大家帮忙看看
- 请大家帮个忙,如何写这个存储过程,功能是远程备份之前要与所务份的机器建立共享关系!!!
- 应该不难,但我不会!!!SQL2000操作问题
- MFC与SQL2008相关
- 求助--如何修改数据库作业的下次运行日期?
- 小问题?关于赋值
- 如何从mysql数据库移植到sqlserver2000(主要是数据导入)
- 我定义的作业在周日执行,如果周日一整天不开机,会发生什么情况?
- 使用SQL server,能否在指定位置插入新记录?
- 问个比较日期大小的问题~~~~
- 請教一句SQL !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
分店名? ?位 姓名
A店 店? ?三
A店 工程? 李四
B店 店? 王五
A店 工程? ?六
A店 技工 啊光
B店 工程? 王明
A店 技工 小?
A店 工程? 李?
轉換為
分店名? ?位 人? 人?名?
A店 店? 1 ?三
A店 工程? 2 李四 ?六 李?
A店 技工 2 啊光 小?
B店 店? 1 王五
B店 工程? 1 王明
*/
---------------------------------------------------------------
create function getstr(@分店名? varchar(20),@?位 varchar(20))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+' '+rtrim(人?名?) from 表
where 分店名?=@分店名? and ?位=@?位
set @str=right(@str,len(@str)-1)
return @str
end
go
?句:
select 分店名?,?位,count(*) 人?,dbo.getstr(分店名?,?位) 人?名? from 表 group by 分店名?,?位
(select 姓名,语文=(case when 课程名称=语文 then 成绩 else 0 end),
数学=(case when 课程名称=数学 then 成绩 else 0 end),
英语=(case when 课程名称=英语 then 成绩 else 0 end)) a
group by 姓名