SQL查询语句分层级显示数据的问题
先看以下数据表:IDleaveIDApproverGradeAllow11审核人11021审核人22031审核人330问题:如果当审核人3前面的层级的Allow不为1时,...
先看以下数据表:
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怎样写?非常感谢!! 展开
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怎样写?非常感谢!! 展开
展开全部
你肯定是知道了是哪个审核人才能判断的,所以,此时审核人的grade也就知道了,
那么 比如现在是审核人3,那么他的grade就是3,那么就查他上级grade的allow
select * from 表 where Grade=当前审核人的grade-1 and allow = 1,如果有这样的记录,显示给他看,否则提示没有
那么 比如现在是审核人3,那么他的grade就是3,那么就查他上级grade的allow
select * from 表 where Grade=当前审核人的grade-1 and allow = 1,如果有这样的记录,显示给他看,否则提示没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
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
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加个判断不行么?用SQL语句查出当前审批人的Allow。若不为0,则隐藏,否则则显示。加个判断不就很简单了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设审核人1是最前面的一个审核层级,那么根据什么条件判断是否给他看?
对于Allow这个字段的赋值有疑问。
对于Allow这个字段的赋值有疑问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询