Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何根据角色优先级访问最高角色_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 如何根据角色优先级访问最高角色

Sql server 如何根据角色优先级访问最高角色,sql-server,sql-server-2008,Sql Server,Sql Server 2008,嗨,我有一个synerio,用户映射到两个角色,角色的优先级设置为1和2…我的问题是如何访问最高的代码和角色 用于exp Code Name Role RolePriority 1 Rehman Abc 2 2 Rehman Def 3 3 Neha Des 1 因此,我希望Rehman具有Def角色,而Neha具有Des角色您可以使用ROW_

嗨,我有一个synerio,用户映射到两个角色,角色的优先级设置为1和2…我的问题是如何访问最高的代码和角色

用于exp

Code       Name          Role   RolePriority
1          Rehman        Abc    2
2          Rehman        Def    3
3          Neha          Des    1

因此,我希望Rehman具有Def角色,而Neha具有Des角色

您可以使用
ROW_NUMBER()OVER()
选择最高优先级

DECLARE @test AS TABLE(Code INT,Name VARCHAR(100),Role VARCHAR(100),RolePriority int)

INSERT INTO @test VALUES(1,'Rehman','Abc',2),(2,'Rehman','Def',3),(3,'Neha','Des',1)

SELECT * FROM(
SELECT *,ROW_NUMBER() OVER(PARTITION BY Name ORDER BY RolePriority desc) AS 
rw FROM @test)res
WHERE rw = 1
可能重复的