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