读书人

求大哥们帮写这条简单的SQL语句(小弟

发布时间: 2013-10-15 16:47:37 作者: rapoo

求大哥们帮写这条简单的SQL语句(我在线等你们)
帮大哥们写好了创建表的代码



我要的结果是如下图的
求大哥们帮写这条简单的SQL语句(小弟我你们)


我要的结果是如下图的
求大哥们帮写这条简单的SQL语句(小弟我你们)



create table tableTest
(ID int identity,姓名 varchar(20),报读科目 varchar(20),费用 money)
go

insert into tableTest
select '小明','语文',300 union all
select '小明','数学',500 union all
select '小明','英语',500 union all
select '小红','语文',300 union all
select '小红','数学',500
go
select *from tableTest



create function dbo.fn_mergeSTR(@name varchar(20),@split varchar(10))
returns varchar(300)
as
begin
declare @str varchar(300);

set @str = '';

select @str = @str + 报读科目 + @split
from tableTest
where 姓名 = @name

set @str = left(@str , len(@str) - LEN(@split) )

return @str --返回值
end
go


select 姓名,
报读科目,
SUM(费用) as 费用
from
(
select 姓名,
dbo.fn_mergeSTR(姓名,'
[解决办法]
') as 报读科目,
费用
from tableTest
) t
group by 姓名,
报读科目
order by 3 desc

/*
姓名报读科目费用
小明语文
[解决办法]
数学
[解决办法]
英语1300.00
小红语文
[解决办法]
数学800.00
*/

读书人网 >SQL Server

热点推荐