Flow流程表,欄位【Id,Name】
FlowDetail流程詳情表 欄位【Id,FlowId,Type SortId】FlowId是Flow的Id,SortId是排序Id,通過排序依次找到審核的流程節點
FlowCheckUserInfo 流程審核人員表 欄位【FlowDetailId,UserId】
FlowCheckInfo 流程審核記錄表 欄位【FlowId,FlowDetailId,User,Status,remark】 Status》》0表示審核失敗,1表示審核成功
Order訂單表 欄位【Id,FlowId,BillNo】
關系是這樣的:一個流程有N個流程詳情,一個流程詳情可能存在N個審批人員,如果讀取我訂單表的資料推送給應該審核的人員?
uj5u.com熱心網友回復:
你沒有一個標志欄位記錄當前待辦節點的?如果沒有,那只能通過既沒審核失敗,也沒審核成功來判斷為尚未完成的節點,然后取其中序號最小的
SELECT ID,USERID,USER
FROM
(SELECT A.*,D.USERID,C.USER,DENSE_RANK() OVER (PARTITION BY A.ID ORDER BY SORTID) AS RN
FROM Order A
JOIN FlowDetail B ON A.FLOWID=B.FLOWID
JOIN FlowCheckInfo C ON B.FLOWID=C.FLOWID
JOIN FlowCheckUserInfo D ON C.FlowDetailId=D.FlowDetailId
WHERE Status NOT IN ('1','0')) AS A
WHERE RN=1
GROUP BY ID,USERID,USER
uj5u.com熱心網友回復:
select UserIdfrom FlowCheckUserInfo f1
left join FlowDetail f2 on f1.FlowDetailId = f2.Id
left join Order o1 on o1.flowId = f2.FlowId
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/223390.html
標籤:基礎類
上一篇:sql server 欄位拆分
