0

我需要将表中的两个属性作为一个组合进行比较。

基本上,我的数据库中有这张表,其中包含这些属性和一些示例数据。

Rights => RoleID,SectionID,RightID
      1         2        3
      1         3        5
      1         5        7
      2         3        5
      2         1        6

所以我想在我的存储过程中传递属于某个roleID的sectionID和RightID信息作为输入并返回ROleID。例如,当我传递组合 (3,5) 和 (1,6) 时,我的存储过程应该返回 RoleID 2。如果与我作为输入传递的组合不完全匹配,它不应该返回任何内容。

非常感谢这方面的任何帮助。

4

1 回答 1

0

我尚未对此进行测试,但您可以使用它或酌情修改。这个想法是您将连接的值放入 temp 列,然后将其用作调用过程的基础。如果失败了,您可能希望将另一列添加到您的表中,并使用已连接的角色 ID 和分段?

创建过程获取 (@param varchar(10))

作为

SELECT * INTO #RIGHTS FROM TABLENAME ALTER TABLE #RIGHTS ADD JOINEDVALUES INT SELECT #RIGHTS.JOINEDVALUE = (SELECT ROLEID + ',' + SECTIONID FROM TABLENAME WHERE #RIGHTS.JOINEDVALUE = @PARAMS)

于 2013-06-13T06:23:30.340 回答