再向大家求一条MS语句
 向大家求一条MS语句   
 A表记录如下   
 barcode         name 
 001                     可乐 
 002                     花生 
 003                     水果 
 004                     花朵 
 002                     花生   
 B表记录如下 
 barcode         ku                     num 
 001                     仓库1            10 
 001                     仓库5            50 
 002                     仓库2            20 
 003                     仓库1            30 
 004                     仓库3            40 
 001                     仓库6            5 
 003                     仓库1            3   
 要的结果如下(说明;A和B表是依barcode字段为关联,一个货品有可能放在多个仓库里,如“001可乐”摆放在多个仓库里,仓库的列出只需在结果中一个字段里显示即可),麻烦大家下   
 001                     可乐         仓库1            10         仓库5            50         仓库6            5 
 002                     花生         仓库2            20 
 003                     水果         仓库1            30         仓库1            3 
 004                     花朵         仓库3            40 
 002                     花生         仓库2            20
------解决方案--------------------http://community.csdn.net/Expert/topic/5428/5428303.xml?temp=.4644586 
 我这里类似,你先看看,我再帮你写.
------解决方案--------------------我还是第一次见到这样的,学习!   
 顺便帮顶!
------解决方案--------------------if object_id(N 'a ') <> 0 
 drop table a   
 create table a (barcode varchar(10),name varchar(50)) 
 insert into a select  '001 ', '可乐 ' 
 union all select  '002 ', '花生 ' 
 union all select  '003 ', '水果 ' 
 union all select  '004 ', '花朵 ' 
 union all select  '002 ', '花生 '   
 if object_id(N 'b ') <> 0 
 drop table b   
 create table b(barcode varchar(10),ku varchar(20),num int) 
 insert into b select  '001 ', '仓库1 ',10 
 union all select  '001 ', '仓库5 ',50 
 union all select  '002 ', '仓库2 ',20 
 union all select  '003 ', '仓库1 ',30 
 union all select  '004 ', '仓库3 ',40 
 union all select  '001 ', '仓库6 ',5 
 union all select  '003 ', '仓库1 ',3   
 if object_id(N 'c ') <> 0 
 drop table c   
 select id=identity(int ,1,1) ,a.*,b.ku,b.num  
 into c  from a left join b 
 on a.barcode=b.barcode   
 create function ab1 
 ( 
 @barcode varchar(20), 
 @name varchar(20)) 
 returns varchar(800) 
 as 
 begin 
 declare @sql varchar(1000) 
 set @sql= ' ' 
 select @sql=@sq