sql根据ID串获取职位名称、员工姓名等

例如id串(1,2,3,4,,,,)

/***************************************************************************************
* 函数名称 : fn_oapgetnamesbyids
* 函数描述 : 获 组织机构名称、职位名称、员工姓名 等
* 函数使用 : select dbo.fn_oapgetnamesbyids()
**************************************************************************************/
CREATE function [dbo].[fn_oapgetnamesbyids]
(

@kind int, -- 查询类型 0-所有职员;1-组织机构名称;2-职位名称;3-职员名称

@dateid varchar(4000) -- 查询IDS,以‘,’隔开

)

returns varchar(4000)

as

begin

declare @ret varchar(4000);

set @ret = '';

if (@kind = 0)

set @ret = '';

else if (@kind = 1) -- 组织机构

select @ret = isnull(@ret + ',', '') + m.name

from o_organize m where charindex(',' + cast(m.id as varchar) + ',', ',' + @dateid + ',') > 0

else if (@kind = 2) -- 职位

select @ret = isnull(@ret + ',', '') + m.name

from o_position m where charindex(',' + cast(m.id as varchar) + ',', ',' + @dateid + ',') > 0

else if (@kind = 3) -- 职员

select @ret = isnull(@ret + ',', '') + m.name

from o_employ m where charindex(',' + cast(m.id as varchar) + ',', ',' + @dateid + ',') > 0

if (len(@ret) > 1)

set @ret = substring(@ret, 2, len(@ret));

else

set @ret = '';

return @ret;

-- End of "fn_oapgetnamesbyids";

end

posted @ 2021-12-15 13:42  丶Ronnie  阅读(730)  评论(0)    收藏  举报