有以下两个表
Table1:
PrimaryCode FCode KeyArea
20060001 001 china
20060001 002 china
20060001 003 china
20060002 001 china
20060002 003 china
20060003 005 china
Table2:
FCode KeyArea CName
001 china 上海
002 china 北京
003 china 广州
004 china 武汉
005 china 大连
------------------------
想要结果
PrimaryCode UionName KeyArea
20060001 上海;北京;广州 china
20060002 上海;广州 china
20060003 大连 china
----------------------
请问如何实现呀? 谢谢!
Table1:
PrimaryCode FCode KeyArea
20060001 001 china
20060001 002 china
20060001 003 china
20060002 001 china
20060002 003 china
20060003 005 china
Table2:
FCode KeyArea CName
001 china 上海
002 china 北京
003 china 广州
004 china 武汉
005 china 大连
------------------------
想要结果
PrimaryCode UionName KeyArea
20060001 上海;北京;广州 china
20060002 上海;广州 china
20060003 大连 china
----------------------
请问如何实现呀? 谢谢!
create table tb (PrimaryCode varchar(10),FCode varchar(10),KeyArea varchar(10)) insert into tb select '20060001', '001','china'
union all select '20060001','002','china'
union all select '20060001','003','china'
union all select '20060002','001','china'
union all select '20060002', '003','china'
union all select '20060003','005','china'
gocreate table tt(FCode varchar(10),KeyArea varchar(10),CName varchar(10))
insert into tt select '001','china','上海'
union all select '002','china','北京'
union all select '003','china','广州'
union all select '004','china','武汉'
union all select '005','china','大连'
gocreate view fcstr
as
select a.PrimaryCode,b.CName,a.KeyArea from tb a,tt b where a.FCode=b.FCode
gocreate function dbo.fc_str(@PrimaryCode varchar(10))
returns varchar(100)
as
begin
declare @sql varchar(1000)
set @sql=''
select @sql=@sql+';'+cast(CName as varchar) from fcstr where PrimaryCode=@PrimaryCode
return stuff(@sql,1,1,'')
end
goselect PrimaryCode,dbo.fc_str(PrimaryCode) as UnionName,KeyArea from fcstr group by PrimaryCode,KeyArea
drop table tb
drop table tt
drop view fcstr
drop function dbo.fc_str