首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 归并行记录

2012-07-26 
SQL 合并行记录各位达人,大家好,小弟遇到一个难题(SQL 2005),如下,请达人指导:表如下:zuhaodanweibianhaod

SQL 合并行记录
各位达人,大家好,小弟遇到一个难题(SQL 2005),如下,请达人指导:
表如下:

zuhao danweibianhao danweimingcheng
  1 A A公司
  1 B B公司
  2 C C公司
  2 D D公司
  2 E E公司
  3 F F公司
  3 G G公司

先要实现的结果:
zhuhao danweibianhao danweimingcheng
  1 A,B A公司,B公司
  2 C,D,E C公司,D公司 E公司
  3 F,G F公司,G公司
请达人指导,谢谢!!


[解决办法]
http://topic.csdn.net/u/20080612/22/c850499f-bce3-4877-82d5-af2357857872.html
[解决办法]

SQL code
--> 测试数据:[test]if object_id('[test]') is not null drop table [test]create table [test]([zuhao] int,[danweibianhao] varchar(1),[danweimingcheng] varchar(5))goinsert [test]select 1,'A','A公司' union allselect 1,'B','B公司' union allselect 2,'C','C公司' union allselect 2,'D','D公司' union allselect 2,'E','E公司' union allselect 3,'F','F公司' union allselect 3,'G','G公司'goSELECT distinct a.[zuhao],[danweibianhao]=STUFF((SELECT ','+[danweibianhao] FROM [test] bWHERE a.zuhao=b.zuhao FOR XML PATH('')),1,1,''),[danweimingcheng]=STUFF((SELECT ','+[danweimingcheng] FROM [test] bWHERE a.zuhao=b.zuhao FOR XML PATH('')),1,1,'')FROM [test]  aGROUP BY a.zuhao,[danweibianhao]/*zuhao    danweibianhao    danweimingcheng-----------------------------------------------1    A,B    A公司,B公司2    C,D,E    C公司,D公司,E公司3    F,G    F公司,G公司*/
[解决办法]
SQL code
--> 测试数据:[tb]IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]GO CREATE TABLE [tb]([zuhao] INT,[danweibianhao] VARCHAR(1),[danweimingcheng] VARCHAR(5))INSERT [tb]SELECT 1,'A','A公司' UNION ALLSELECT 1,'B','B公司' UNION ALLSELECT 2,'C','C公司' UNION ALLSELECT 2,'D','D公司' UNION ALLSELECT 2,'E','E公司' UNION ALLSELECT 3,'F','F公司' UNION ALLSELECT 3,'G','G公司'--------------开始查询--------------------------SELECT [zuhao], danweibianhao=STUFF((SELECT ','+danweibianhao FROM [tb] WHERE [zuhao]=t.[zuhao] FOR XML PATH('')),1,1,''),danweimingcheng=STUFF((SELECT ','+danweimingcheng FROM [tb] WHERE [zuhao]=t.[zuhao] FOR XML PATH('')),1,1,'')FROM [tb] AS tGROUP BY [zuhao] ----------------结果----------------------------/* zuhao       danweibianhao       danweimingcheng----------- ---------------------------------------1           A,B                  A公司,B公司2           C,D,E                C公司,D公司,E公司3           F,G                  F公司,G公司(3 行受影响)*/ 

热点排行