刚才发的贴子打不开,请教一条sql语句
数据:
Table1:
id C1
-----------
1 cc
2 cd
Table2:
id TypeIndex
-----------------
1 1
1 2
1 3
Table3:
TypeIndex Type
-----------------------
1 a
2 b
3 c
4 d
要求获得如下数据:
id C1 StrType
------------------------
1 cc a;b;c
2 cd null
有正解即结贴。请牛人帮忙
问题点数:60、回复次数:5Top
1 楼wgsasd311(自强不息)回复于 2006-03-14 09:30:40 得分 30
create function f1(@id int)
returns varchar(4000)
as
begin
declare @re varchar(4000)
set @re=''
select
@re=@re+';'+t3.type
from t1 inner join t2 on t1.id=t2.id
inner join t3 on t2.typeindex=t3.typeindex
return stuff(@re,1,1,'')
end
go
select id,c1,strtype=dbo.f1(id)
from t1Top
2 楼wgsasd311(自强不息)回复于 2006-03-14 09:31:26 得分 0
--try
create function f1(@id int)
returns varchar(4000)
as
begin
declare @re varchar(4000)
set @re=''
select
@re=@re+';'+t3.type
from t1 inner join t2 on t1.id=t2.id
inner join t3 on t2.typeindex=t3.typeindex
where t1.id=@id
return stuff(@re,1,1,'')
end
go
select id,c1,strtype=dbo.f1(id)
from t1Top
3 楼wgsasd311(自强不息)回复于 2006-03-14 09:34:08 得分 0
create function f1(@id int)
returns varchar(4000)
as
begin
declare @re varchar(4000)
set @re=''
select
@re=@re+';'+t3.type
from t2 inner join t3 on t2.typeindex=t3.typeindex
where t2.id=@id
return stuff(@re,1,1,'')
end
go
select id,c1,strtype=dbo.f1(id)
from t1Top
4 楼gaojier1000(V2※高捷)回复于 2006-03-14 09:36:56 得分 30
create function f1(@id int)
returns varchar(4000)
as
begin
declare @re varchar(4000)
set @re=''
select
@re=@re+';'+t3.type
from t1 inner join t2 on t1.id=t2.id
inner join t3 on t2.typeindex=t3.typeindex
where t1.id=@id
return stuff(@re,1,1,'')
end
go
select id,c1,strtype=dbo.f1(id)
from t1
Top
5 楼kerywu(kerywu)回复于 2006-03-15 11:05:03 得分 0
虽然这个帖子已经有答案,但为了感谢各位,结贴给分。Top




