小弟在做一个MIS系统。 里面要用到权限管理。
对方要求,可以对单个用户设置权限。也可以对用户组设置权限。一个用户可以在多个用户组中。
一个用户的权限是所有权限的合集。
比如 用户 007本身有权限true,true,true,false,false,false,true组1的权限false,false,false,false,false,true,false组2的权限false,false,false,false,true,true,true,true
那么这个用户的权限  执行 或 后应为:true,true,true,false,true,true,true,true,请问如何在 SQL中查询到到结果。 谢谢。

解决方案 »

  1.   

    小弟的意思是。在 SQL 中查到了三条记录。 如何把这三条记录合并成一条记录。 逻辑为或。
      

  2.   

    建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。   
      

  3.   

    开始以为 用户有某项权限, 其所在组有某某项权限, 就并集, 但是看到结果的第四条时没看明白
    第四个, 怎么是true ? 用户,及其所在二个组均为false.
      

  4.   

    谢谢大家的热心帮忙。小弟感激大家。 不过小弟自已想了一个办法搞定了。
    代码如下:select userID,(case when sum(case when fr_one=1  then 1 else 0 end)>1 then 1 else 0 end),(case when sum(case when fr_two=1  then 1 else 0 end)>1 then 1 else 0 end)
    ....from w_user group by userID最后还是感谢大家!