实际应用中的小疑点
实际应用中的小问题,请指教
有两个表
表名:a
code name
-----------------
01 联想
02 小米
表名 b
code value
-----------------
1401 01,02
怎么得到
1401 联想,小米
------解决方案--------------------
试试这个:
有两个表
表名: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 联想,小米
*/