实际应用中的小疑点

实际应用中的小问题,请指教
有两个表
表名:a
code name
-----------------
01 联想
02 小米

表名 b
code value
 -----------------
1401 01,02


怎么得到
1401 联想,小米
------解决方案--------------------
试试这个:
--drop table a,b
--go


create table a(code varchar(10), name varchar(10))


insert into a
select '01' ,'联想' union all
select '02' ,'小米'

create table b(code varchar(10), value varchar(20))


insert into b
select '1401' ,'01,02'

go


;with t
as
(
select b.code,a.name
from a,b
where CHARINDEX(','+a.code+',',','+b.value+',')>0
)

select distinct
       code,
       STUFF((select ','+name from t t1 where t1.code = t.code for xml path('')),1,1,'') name
from t
/*
code name
1401 联想,小米
*/