权限求和??(有点难度) 哪位高手来指点

txt_ly 2007-07-13 05:03:11
说明:
--FIdSYRole(角色ID),FunctionCode(模块代码),add(增加权限 1表示有,0表示没有权限)

问题;
  我现在要求角色ID为6,7的权限并集

数据:
drop table [dbo].[SY_RoleOper]
GO

CREATE TABLE [dbo].[SY_RoleOper] (
[FId] [PKId] NOT NULL ,
[FIdSYRole] [FKID] NOT NULL ,
[FunctionCode] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[add] [bit] NULL ,
[edit] [bit] NULL ,
[del] [bit] NULL ,
[browse] [bit] NULL ,
[print] [bit] NULL ,
[check] [bit] NULL
) ON [PRIMARY]
GO


insert into SY_RoleOper values(350,6,'clientRecord',0,1,0,1,1,0 )
insert into SY_RoleOper values(351,7,'clientRecord',0,1,0,1,1,0 )
insert into SY_RoleOper values(352,8,'clientRecord',1,1,0,1,1,1 )
insert into SY_RoleOper values(353,6,'linkman',0,1,0,1,1,0)
insert into SY_RoleOper values(353,7,'linkman',1,1,0,1,1,1)

结果
  'clientRecord',0,1,0,1,1,0
'linkman',1,1,0,1,1,1

哪位高手来指点
...全文
128 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
txt_ly 2007-07-13
  • 打赏
  • 举报
回复
哦,太棒了!!!!!!!~~~~
谢谢
昵称被占用了 2007-07-13
  • 打赏
  • 举报
回复
晕哦,bit类型不好用呀


select [FunctionCode],max(cast([add] as tinyint)) as [add],max(cast([edit] as tinyint))as [edit]
,max(cast([del] as tinyint)) as [del],max(cast([browse] as tinyint))as [browse]
,max(cast([print] as tinyint)) as [print],max(cast([check] as tinyint))as [check]
from ].[SY_RoleOper]
where [FIdSYRole] in (6,7)
group by [FunctionCode]
txt_ly 2007-07-13
  • 打赏
  • 举报
回复
楼上的语句好像运行不了
txt_ly 2007-07-13
  • 打赏
  • 举报
回复
服务器: 消息 409,级别 16,状态 2,行 1
maximum aggregate 运算不能以 bit 数据类型作为参数。
昵称被占用了 2007-07-13
  • 打赏
  • 举报
回复
因为对于bit运算来说

b1 or b2 =max(b1,b2)

呵呵
昵称被占用了 2007-07-13
  • 打赏
  • 举报
回复
有个取巧的方法
select [FunctionCode],max([add]) as [add],max([edit])as [edit]
,max([del]) as [del],max([browse])as [browse]
,max([print]) as [print],max([check])as [check]
from ].[SY_RoleOper]
where [FIdSYRole] in (6,7)
group by [FunctionCode]
昵称被占用了 2007-07-13
  • 打赏
  • 举报
回复
'clientRecord',0,1,0,1,1,0
为什么不是
'clientRecord',1,1,0,1,1,1

应该or关系
txt_ly 2007-07-13
  • 打赏
  • 举报
回复
自己先来顶一下!!!!!

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧