更新问题....
table1
id nameid
1 1,2
2 2,3
3 3
table2
id name
1 小五
2 哈
3 红
根据table2中的name,更改table1中的nameid字段
希望更新后得到的结果为
table1
id nameid
1 小五,哈
2 哈,红
3 红
[解决办法]
create table t1(id varchar(4),nameid varchar(40))
insert into t1 select '1 ', '1,2 '
insert into t1 select '2 ', '2,3 '
insert into t1 select '3 ', '3 '
create table t2(id varchar(4),name varchar(40))
insert into t2 select '1 ', '小五 '
insert into t2 select '2 ', '哈 '
insert into t2 select '3 ', '红 '
go
create function f_str(@nameid varchar(40))
returns varchar(40)
as
begin
set @nameid= ', '+@nameid+ ', '
select @nameid=replace(@nameid, ', '+id+ ', ', ', '+name+ ', ') from t2
set @nameid=substring(@nameid,2,len(@nameid)-2)
return @nameid
end
go
select id,dbo.f_str(nameid) as nameid from t1
go
drop function f_str
drop table t1,t2
go
/*
idnameid
----------------
1小五,哈
2哈,红
3红
*/
[解决办法]
楼主少一步更新~~~~~
update t1
set nameid=dbo.f_str(nameid)