大小版主查询?

claymore1114 2009-09-15 09:35:07
我有一张版主表 (BanZhuInfo)
id userid Class1(类别1) Class2 Class3 //class2是class1的一个小类、class3 是class2 的一个小类
1 1 1 1 1

我添加版主, 大版主就是class1类,但也有管理class2\class3的权限。
中版主是属于class2 类,有管理class1类的权限。
小版主是class3类,只能管理class3。

现在想实现查询 验证 某一用户是否为版主,用存储过程
...全文
191 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
华夏小卒 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 claymore1114 的回复:]
假设
id  userid Class1(类别1)  Class2  Class3   
1    102    1            0        0
2    105    2            3        1
3    108    1            1        0

(注: 102号是 类别class1是1的大版主,
      103是  类别Class1是2,class2是3,class3是1下的 小版主,class1>class2>class3 属于关系
      108 是类别 class是1,class2是1的中版主。
查询某一用户是否为版主的情况。
[/Quote]

说这么多,感觉你只要告诉我们,3个都为0 的就肯定不是版主就行了!!!


--不管事什么版主,都是版主
select * from tb where class1+class2+class3>0
claymore1114 2009-09-15
  • 打赏
  • 举报
回复
假设
id userid Class1(类别1) Class2 Class3
1 102 1 0 0
2 105 2 3 1
3 108 1 1 0

(注: 102号是 类别class1是1的大版主,
103是 类别Class1是2,class2是3,class3是1下的 小版主,class1>class2>class3 属于关系
108 是类别 class是1,class2是1的中版主。
查询某一用户是否为版主的情况。
ws_hgo 2009-09-15
  • 打赏
  • 举报
回复
LZ 人不在啦
soft_wsx 2009-09-15
  • 打赏
  • 举报
回复
给数据呀!不要再纸上谈兵了!
--小F-- 2009-09-15
  • 打赏
  • 举报
回复
有点不那么明白 楼主说清楚一点
chuifengde 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 claymore1114 的回复:]
大版主只设置了 类别class1, 其它没设
中版主 设置了 class1、class2设置了。
小版主 设置了 class1、class2、class3都设置了。
怎么查询出 某一个用户为版主
[/Quote]
非版主如何设的?取反不就行了?
xuejiecn 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chuifengde 的回复:]
??
SQL codeselect Id,UserId,case when class1+class2+class3>0 then'是'else'否'endfrom[Table]
[/Quote]

用这就行了,简单!
soft_wsx 2009-09-15
  • 打赏
  • 举报
回复
给出数据先
华夏小卒 2009-09-15
  • 打赏
  • 举报
回复

select * from tb where (class1=1 or class2=1 or class3=1)
and uid=....



???
claymore1114 2009-09-15
  • 打赏
  • 举报
回复
大版主只设置了 类别class1, 其它没设
中版主 设置了 class1、class2设置了。
小版主 设置了 class1、class2、class3都设置了。
怎么查询出 某一个用户为版主
htl258_Tony 2009-09-15
  • 打赏
  • 举报
回复
如果看楼的描述,三楼就能解决了,顶多加个ISNULL
chuifengde 2009-09-15
  • 打赏
  • 举报
回复
??
select Id,UserId,case when class1+class2+class3>0 then '是' else '否' end 
from [Table]
guguda2008 2009-09-15
  • 打赏
  • 举报
回复
1代表什么?
jiangshun 2009-09-15
  • 打赏
  • 举报
回复
什么情况是大版主?小斑竹?
虫洞 2009-09-15
  • 打赏
  • 举报
回复

create procedure pro_class
@userid int,@class1 int,@class2 int,@class3 int
as
select count(id)
from tb
/*大板块相等前提,小版块相等或为0*/
where userid=@userid and class1=@class1 and (class2=@class2 or class2=0) and (class3=@class3 or class3=0)

go
exec pro_class 102,1,2,3
-----------
1

(1 行受影响)

JavaAlpha 2009-09-15
  • 打赏
  • 举报
回复
是不是在等级高的里面设置的,在低的里面都可以看到了。
claymore1114 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 starfly578 的回复:]
SQL codedeclare@xxtable(idintidentity(1,1), useridint, class1int, class2int,class3int )insertinto@xxselect102,1,0,0unionallselect105,2,3,1unionallselect108,1,1,0select userid,casewhen class1=1then'大版主'when class2=1then'中版主'when class3=1then'小版主'endfrom@xx
如,class1=1代表是大版主了,class2,class3的值也就不主要了吧!
不是说大版主,可以管理中,小版主的内容么

[/Quote]
class1这个大类里也有好多类 1 2 ..
claymore1114 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 js_szy 的回复:]
引用 13 楼 claymore1114 的回复:
假设
id  userid Class1(类别1)  Class2  Class3   
1    102    1            0        0
2    105    2            3        1
3    108    1            1        0

(注: 102号是 类别class1是1的大版主,
      103是  类别Class1是2,class2是3,class3是1下的 小版主,class1>class2>class3 属于关系
      108 是类别 class是1,class2是1的中版主。
查询某一用户是否为版主的情况。


说这么多,感觉你只要告诉我们,3个都为0 的就肯定不是版主就行了!!!

SQL code--不管事什么版主,都是版主select*from tbwhere class1+class2+class3>0
[/Quote]
如果是版主 要获取信息
starfly578 2009-09-15
  • 打赏
  • 举报
回复
declare @xx table(id int  identity(1,1), userid int, class1 int, class2 int,class3 int )

insert into @xx select 102,1,0,0
union all select 105,2,3,1
union all select 108,1,1,0

select userid,
case
when class1=1 then '大版主'
when class2=1 then '中版主'
when class3=1 then '小版主'
end
from @xx

如,class1=1代表是大版主了,class2,class3的值也就不主要了吧!
不是说大版主,可以管理中,小版主的内容么

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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