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