\ue50aJerry　\ue50b\ue50aOracle　\ue50b\ue50a,　\ue50b\ue50aoracle　开发　\ue50b\ue50a围观　\ue50b\ue50a1254　\ue50b\ue50a次\ue50b\ue50a留下评论　\ue50b\ue50a　编辑日期:　\ue50b\ue50a2014-09-17　\ue50b直接看代码,首先创建测试表和数据　PgSQL　create　table　TEST2(　ID　NUMBER,　ZY_BM　VARCHAR2(20),　KC_BM　VARCHAR2(20),　BEG_DATE　DATE　,　END_DATE　DATE　);　INSERT　INTO　TEST2　VALUES　(1,　'A'　,　'a1'　,　to_date　(　'20131215'　,　'yyyymmdd'　),　to_date　(　'20131216'　,　'yyyymmdd'　));　INSERT　INTO　TEST2　VALUES　(1,　'A'　,　'a2'　,　to_date　(　'20131215'　,　'yyyymmdd'　),　to_date　(　'20131216'　,　'yyyymmdd'　));　INSERT　INTO　TEST2　VALUES　(1,　'B'　,　'b1'　,　to_date　(　'20131215'　,　'yyyymmdd'　),　to_date　(　'20131216'　,　'yyyymmdd'　));　INSERT　INTO　TEST2　VALUES　(1,　'B'　,　'b2'　,　to_date　(　'20131215'　,　'yyyymmdd'　),　to_date　(　'20131216'　,　'yyyymmdd'　));　现在需要编写sql实现如下结果:　PgSQL　ID　BEG_DATE　END_DATE　zy_bm　kc_bm　1　2013　-　12　-　15　2013　-　12　-　16　A,A,B,B　a1,a2,b1,b2　希望把zy_bm,kc_bm合并到一列。但是合并后顺序不能乱。即合并后,zy_bm和kc_bm仍要一一对应。初步确认sql如下:　PgSQL　SELECT　ID,beg_date,end_date,　wmsys.wm_concat(zy_bm),　wmsys.wm_concat(kc_bm)　FROM　TEST2　GROUP　BY　ID,beg_date,end_date;　执行结果为:　ID　BEG_DATE　END_DATE　WMS