永发信息网

SQL查询语句分层级显示数据的问题

答案:4  悬赏:40  手机版
解决时间 2021-01-22 17:54
  • 提问者网友:你独家记忆
  • 2021-01-22 08:18
先看以下数据表:
ID leaveID Approver Grade Allow
1 1 审核人1 1 0
2 1 审核人2 2 0
3 1 审核人3 3 0
问题:
如果当审核人3前面的层级的Allow不为1时,所对应则不显示给审核人3查看。审核人1和审核人2也是以此类推。这段SQL怎样写?非常感谢!!
最佳答案
  • 五星知识达人网友:封刀令
  • 2021-01-22 09:41
DECLARE @A INT
DECLARE @B INT
SET @A=1
SELECt @B=MAX(GRADE) FROM TABLE
WHILE (@A<@B)
BEGIN
SELECt * FROM TABLE WHERe CRADE=@A AND ALLOW=1
SET @A=@A+1
END
全部回答
  • 1楼网友:三千妖杀
  • 2021-01-22 12:01
1 select 员工,部门 from tablename where 员工='p3'; 2 select 部门,员工 from tablename where 部门='d'
  • 2楼网友:轻熟杀无赦
  • 2021-01-22 11:35
加个判断不行么?用SQL语句查出当前审批人的Allow。若不为0,则隐藏,否则则显示。加个判断不就很简单了吗?
  • 3楼网友:时间的尘埃
  • 2021-01-22 10:22
你肯定是知道了是哪个审核人才能判断的,所以,此时审核人的grade也就知道了, 那么 比如现在是审核人3,那么他的grade就是3,那么就查他上级grade的allow select * from 表 where Grade=当前审核人的grade-1 and allow = 1,如果有这样的记录,显示给他看,否则提示没有
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯