日期:2014-05-17  浏览次数:20503 次

求高手 Sql 中如何合并相同的数据?
本帖最后由 Tangkun306 于 2013-03-26 22:11:52 编辑
    Eg :  
            
   Tab_A      含有订单号、  
   Tab_B      含有客户姓名 、 含有A表的外键
   
   要求查询结果 -------------------
    
    订单号                       客户名
  x00331333                     张三、李四、王五   

   我今天查询出来的结果是---------------
   
    订单号                        客户名

x00331333                          张三
x00331333                          李四
x00331333                          王五

  如何合并相同的订单号为一条 ?group by 貌似不行..
   

------解决方案--------------------
http://www.cnblogs.com/hanmos/archive/2011/09/15/2177391.html
合并列值你可以看一下
------解决方案--------------------
create table tb(OrderID varchar(50), CustomerName varchar(50))
insert into tb values('x00331333','张三')
insert into tb values('x00331333','李四')
insert into tb values('x00331333','王五')
go

select orderid,
[CustomerName]=STUFF((select ','+ [CustomerName] 
  from tb 
  where orderid=tb.orderid for xml path('')),
1, 1, '')
from tb
group by orderid

------解决方案--------------------
FOR XML PATH 可以将查询结果根据行输出成XML各式!