首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-10-15 
求大哥们帮写这条简单的SQL语句(我在线等你们)帮大哥们写好了创建表的代码我要的结果是如下图的我要的结果

求大哥们帮写这条简单的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
*/

热点排行