1. 程式人生 > 其它 >sql根據ID串獲取職位名稱、員工姓名等

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