请教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
展开
 我来答
百度网友bfb9204
2012-04-23 · TA获得超过718个赞
知道小有建树答主
回答量:1008
采纳率:66%
帮助的人:449万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fxtrade114
2012-04-23 · TA获得超过316个赞
知道小有建树答主
回答量:552
采纳率:100%
帮助的人:429万
展开全部
如果每个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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjuesi
2012-04-23 · TA获得超过963个赞
知道小有建树答主
回答量:540
采纳率:88%
帮助的人:144万
展开全部
只限定存在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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6cd535f
2012-04-23 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:100%
帮助的人:116万
展开全部
oracle :
select id,wm_concat(name) from tablename
group by id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hawk5299
2012-04-23
知道答主
回答量:22
采纳率:0%
帮助的人:2.2万
展开全部
insert (select ID from table1 while id_table1=id_table) into table2 (id field)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式