- 微软Sql管理工作室
您需要按页面查看用户的权限(Kolya是否有权查看其中一个页面或同时查看所有页面(第1页,第2页,第3页,第4页,第5页))显示允许的页面列表
我决定创建一个我知道并手动输入的可能页面的 id 列表,然后从“用户权限”表中查找用户 id 和页面 id(如果有数据要显示)(例如,写入“是”和“否”)在表中,我从列表中查找与 Kolya 和第 x 页相关的所有带“是”的行)
procedure sql
ALTER PROCEDURE GetUserPageAcces
-
@UserId int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @ListPage table (IdPage int, PageName vacrchar(max))
INSERT INTO @ListPage VALUES (1, 'page1'), (2, 'page2'), (3, 'page3'), (4, 'page4'), (5, 'page5')
-- Insert statements for procedure here
SELECT SomePropertyAcces AS Access FROM MyTableWithUser
WHERE UserId = @UserId AND PageId IN (select Id from @ListPage) AND SomePropertyAcces = 'YES'
--return @ListPage
на выходе
Access
YES
YES
我怎样才能从这张表中返回数据?ListPage
чтоб на выходе было =>
Access PageName
YES page2
YES page3
我尝试加入,然后尝试创建一个 #into 表,但我做不到,也许他们根本不这样做?
我可以显示 Id(取自 MyTableWithUser 表),但我需要的正是页面标题 => page1,而不是 1
我们使用连接: