在做流程审批的时候,通常会出现某一层有多个审批人的情况,这个时候需要所有人都通过才会进入到下一步
数据结构如下图表格所示
每一个审批申请对应一个apply_id
serial_no相同的代表是同一层级审批人
approval_status是审核状态
下面我们可以用一个SQL来进行这个判断
SELECT
CASE
WHEN COUNT(*) = SUM(CASE WHEN approval_status = 1 THEN 1 ELSE 0 END)
THEN 1
ELSE 0
END AS approval_status
FROM approval_record
WHERE apply_id = 1
AND serial_no = 2;
可以看到 apply_id 为1 serial_no 为2的因为还有一个人没有审核完成返回的是0
我们再看一下apply_id 为1 serial_no 为1的,因为都审核通过了所以返回的就是1了