SQL语句如何写?

coresky 2005-03-23 03:12:19
假设表结构为id,amount,remark。
remark为备注。如何实现下列的效果
select id,sum(amount) as sum,remark叠加 from tablename
group by id order by id。
其中remark叠加 要求相同id的remark以某种格式连接起来。
...全文
74 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjazz 2005-03-23
  • 打赏
  • 举报
回复
--建立测试环境
Create Table 表(id varchar(10),amount integer,remark varchar(10))
--插入数据
insert into 表
select '1','3','aaa' union
select '1','5','bbb' union
select '1','4','ccc' union
select '2','10','pkoge' union
select '2','12','daf'
go
--测试语句
CREATE FUNCTION FunMergeCharField(@vchA varchar(10))
RETURNS varchar(8000)
AS
BEGIN
DECLARE @r varchar(8000)
SET @r=''
SELECT @r=@r+','+remark FROM 表 WHERE id=@vchA
RETURN(substring(@r,2,8000))
END
GO
select id,sum(amount) as sum,dbo.FunMergeCharField(id) as remark叠加 from 表 group by id

--删除测试环境
Drop Table 表
Drop FUNCTION FunMergeCharField
xluzhong 2005-03-23
  • 打赏
  • 举报
回复
create function f_getrm(@id int)
returns nvarchar(1000)
as
declare @s nvarchar(1000)
set @s=''
select @s=@s+','+remark from tablename where id=@id
return(stuff(@s,1,1,''))
go

select id,
sum(amount) as sum,
dbo.getrm(id) as remark
group by id
order by id

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧