首页 新闻 会员 周边

sql server取多行的并集

0
悬赏园豆:20 [已解决问题] 解决于 2011-08-16 11:43

sql server ,有个权限表设计如下:

tbl_Access(role varchar(20),access varchar(20))

role是角色名,access是权限字符串,对应表格的列。

有如下数据: 'roleA','1,0,1,0','roleB','0,1,1,0'

有些用户同时具有roleA和roleB两种角色,怎么把查出来的权限取并集?

就是查出来应该是:1,1,1,0

谢谢。

佳乐比海的主页 佳乐比海 | 初学一级 | 园豆:70
提问于:2011-05-31 17:00
< >
分享
最佳答案
0

按位或运算 |

1|1=1 
1|0=1 
0|0=0
收获园豆:20
死白的man | 老鸟四级 |园豆:2135 | 2011-05-31 19:56
在sql中怎么用位或?现在有两条数据:'1,0,1,0'和'0,1,10',怎么通过查询把它们合并为'1,1,1,0'?
佳乐比海 | 园豆:70 (初学一级) | 2011-05-31 22:32
select 1|1 但是你这个架构还是比较麻烦的,需要取每一位的值然后分别做或运算,你可以写一个自定义函数来实现,或者你也可以直接扔给前台程序去运算
死白的man | 园豆:2135 (老鸟四级) | 2011-06-01 12:29
哦,不知道你有没有更好的设计?我想实现的是一个人具有多种角色时,就取多个角色的并集。
佳乐比海 | 园豆:70 (初学一级) | 2011-06-01 14:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册