请教SQL可以把ID相同的两行数据合并到一起吗? 5
idname1A1B2A2C结果:idField1A,B2A,c请问怎么实现?要有分隔符的。结果表中是name不是Field...
id name
1 A
1 B
2 A
2 C
结果:
id Field
1 A,B
2 A,c
请问怎么实现?要有分隔符的。
结果表中是name不是Field 展开
1 A
1 B
2 A
2 C
结果:
id Field
1 A,B
2 A,c
请问怎么实现?要有分隔符的。
结果表中是name不是Field 展开
6个回答
展开全部
create Function GetName12(@id char(10))
Returns Nvarchar(2000)
As
Begin
Declare
@S Nvarchar(2000)
Set @S=''
Select @S=@S+','+name from 表1 Where id=@id Order By name
Return (Stuff(@S,1,1,'')) End
--select id, dbo.GetName12( id) as Field from 表1
Returns Nvarchar(2000)
As
Begin
Declare
@S Nvarchar(2000)
Set @S=''
Select @S=@S+','+name from 表1 Where id=@id Order By name
Return (Stuff(@S,1,1,'')) End
--select id, dbo.GetName12( id) as Field from 表1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果每个ID的数据都有两行 ,可以使用下面的语句 sql server
select IDENTITY(int, 1,1) sx , a.ID, a.name+','+b.name c into tmpdata from table1 a
inner join table1 b on (a.id=b.id and a.name<>b.name)
select * from tmpdata where sx % 2 <> 0
select IDENTITY(int, 1,1) sx , a.ID, a.name+','+b.name c into tmpdata from table1 a
inner join table1 b on (a.id=b.id and a.name<>b.name)
select * from tmpdata where sx % 2 <> 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只限定存在ID相同的两行数据:
SELECT a.id,rtrim(a.name)+','+b.name as 组合 from t a left join t b on a.id=b.id
where a.name>b.name
SELECT a.id,rtrim(a.name)+','+b.name as 组合 from t a left join t b on a.id=b.id
where a.name>b.name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
oracle :
select id,wm_concat(name) from tablename
group by id
select id,wm_concat(name) from tablename
group by id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
insert (select ID from table1 while id_table1=id_table) into table2 (id field)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询