IF EXISTS (SELECT * FROM sys.objects WHERE NAME ='tb') DROP TABLE [tb] CREATE TABLE [tb] ( [ID] int NULL , [Title] varchar(100) NULL , [Extent] varchar(100) NULL ) GO--插入测试数据 INSERT INTO [tb] ([ID],[Title],[Extent]) SELECT '1','公告1','1,2,3' UNION SELECT '2','公告2','2,4' GOIF EXISTS (SELECT * FROM sys.objects WHERE NAME ='tc') DROP TABLE [tc] CREATE TABLE [tc] ( [ID] int NULL , [name] varchar(100) NULL ) GO INSERT INTO [tc] SELECT '1','销售部'UNION SELECT '2','产品部'UNION SELECT '3','客服部'UNION SELECT '4','质检部' GO
alter function get_str(@Extent varchar(100)) RETURNs VARCHAR(100) as begin declare @str varchar(100) select @str=isnull(@str,'')+','+name from tc where charindex(cast(ID as varchar(10)),@Extent)>0 return stuff(@str,1,1,'') end select ID,[Title],[Extent],dbo.get_str([Extent]) from tb ID Title Extent ----------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- 1 公告1 1,2,3 销售部,产品部,客服部 2 公告2 2,4 产品部,质检部(2 行受影响)
IF EXISTS (SELECT * FROM sys.objects WHERE NAME ='tb')
DROP TABLE [tb]
CREATE TABLE [tb]
(
[ID] int NULL ,
[Title] varchar(100) NULL ,
[Extent] varchar(100) NULL
)
GO--插入测试数据
INSERT INTO [tb] ([ID],[Title],[Extent])
SELECT '1','公告1','1,2,3' UNION
SELECT '2','公告2','2,4'
GOIF EXISTS (SELECT * FROM sys.objects WHERE NAME ='tc')
DROP TABLE [tc]
CREATE TABLE [tc]
(
[ID] int NULL ,
[name] varchar(100) NULL
)
GO
INSERT INTO [tc]
SELECT '1','销售部'UNION
SELECT '2','产品部'UNION
SELECT '3','客服部'UNION
SELECT '4','质检部'
GO
alter function get_str(@Extent varchar(100))
RETURNs VARCHAR(100)
as
begin
declare @str varchar(100)
select @str=isnull(@str,'')+','+name from tc where charindex(cast(ID as varchar(10)),@Extent)>0
return stuff(@str,1,1,'')
end select ID,[Title],[Extent],dbo.get_str([Extent]) from tb
ID Title Extent
----------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
1 公告1 1,2,3 销售部,产品部,客服部
2 公告2 2,4 产品部,质检部(2 行受影响)