22,209
社区成员
发帖
与我相关
我的任务
分享
create proc [dbo].[sp_filter_customer]
(
@UserName nvarchar(256)
)
as
begin
if exists(select 1 from AccessRule where name=@UserName)
select id,name from view_customer
where customer_category
in
(
select category from Custom_DataFilter
where username=@UserName
)
else
select id,name from view_customer
end
SELECT distinct A.id,A.NAME FROM view_cusomer A INNER JOIN (SELECT * FROM Custom_DataFilter WHERE username=@Username) B
ON A.customer_category=case WHEN exists(select 1 from AccessRule where name=@UserName) THEN
B.category ELSE A.customer_category END
select id,name from view_customer
where username=isnull(@UserName,username)