
sql的两条数据合并成一条 sql语句怎么写
A表编号姓名h01张三h01李四h02王五B表编号姓名h01张三,李四A表怎么变成B表h02王五...
A表 编号 姓名
h01 张三
h01 李四
h02 王五
B表 编号 姓名
h01 张三,李四 A表怎么变成B表
h02 王五 展开
h01 张三
h01 李四
h02 王五
B表 编号 姓名
h01 张三,李四 A表怎么变成B表
h02 王五 展开
1个回答
展开全部
Select 编号,
Stuff(
(Select ','+姓名 From 表 Where 编号=A.编号
For XML Path('')
),1,1,'') As 姓名
From 表 A
Group by 编号
追问
不用XML可以吗,2000的好像用不了
追答
--SQL2000确实不行,要用自定义函数
Create Function fn_hb(@编号 Varchar(100))
Returns Varchar(8000)
As
Begin
Declare @Rst Varchar(8000)
Set @Rst=''
Select @Rst=@Rst+姓名+',' From 表 Where 编号=@编号
Set @Rst=Left(@Rst,len(@RSt)-1)
Return @Rst
End
--调用
select 编号,dbo.fn_hb(编号) As 名称 from 表
Group by 编号
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |