一张表中根据某一字段相同值得另一字段的所有值拼接起来,组成一条新的语句

一张表中根据某一字段相同值得另一字段的所有值拼接起来,组成一条新的语句
如下:
表a,有字段 x,y,z

x y z
1 name p
1 name w
1 name d
2 sex s
2 sex c
2 sex k

语句运行后变成的结果为:

字段1 字段2 字段3
1 name p,w,d
2 sex s,c,k

有哪位帮忙下,谢谢!!

[url]http://relive123-yahoo-com-cn.iteye.com/blog/693608[/url]

[code="sql"]
select y,wm_concat(z) from table_name group by y
[/code]

针对ORACLE数据库 一楼是正确的!

针对mysql,需要使用group_concat函数
[code="sql"]
select y,group_concat(z) from table_name group by y
[/code]
详细可参考[url]http://blog.csdn.net/catoop/article/details/8124561[/url]

至于sqlserver的你可以参考下[url]http://stackoverflow.com/questions/12559551/sql-server-equivalent-of-wm-concat-function[/url]

[quote]
有哪位帮忙下,谢谢!!
问题补充:1楼牛人弄出来了是单组的,即把出group by 单一字段的其他字段都加了起来,其实,我的是字段1和2都相同的,字段1和2照着写,只有字段3不同, 也只是字段3累加
[/quote]

[quote]
X Y Z

1 name p
1 name w
1 name c
2 sex c
2 sex s
2 sex k

[/quote]

[code="sql"]
select x,y,wm_concat(z), dbms_lob.substr(wm_concat(z)) from TEST group by x,y
[/code]

[quote]X Y WM_CONCAT(Z) DBMS_LOB.SUBSTR(WM_CONCAT(Z))
1 name (CLOB) p,w,c
2 sex (CLOB) c,s,k[/quote]

这里的CLOB里其实就是 p,w,c 和 c,s,k