再向大家求一条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