我们有不同的过程,如设计,样品,模拟,凸版印刷,追踪,印刷。但某个工作可以随机做任何工作。 我想选择打印进程,但在此之前,我想检查以前的过程是否已完成。检查上一步如果状态已完成,并显示如果下一步如果完成
我想检查前面的步骤,如果已完成如果完成显示下一个过程。
状态含义:
等于FINISH
等于尚未FINISH
我用下面的查询,但它不会工作。
SELECT *
FROM process
WHERE status = 0
AND (SELECT * FROM process WHERE step=step-1 AND status=1)
进程表
+-----------+----------+------------+-----------+----------+
| ID | Job Code | Job Name | Step | Status |
+-----------+----------+------------+-----------+----------+
| 1 | J0003 | Designing | 0 | 1 |
| 2 | J0003 | Sample | 1 | 1 |
| 3 | J0003 | Printing | 2 | 0 |
+-----------+----------+------------+-----------+----------+
结果:
+-----------+----------+------------+-----------+----------+
| 3 | J0003 | Printing | 2 | 0 |
+-----------+----------+------------+-----------+----------+
这应该是这个结果,因为第一和第二个步骤已经完成。完成,为什么因为行status
的值为1.
如果第二个进程样本的状态值等于0,则结果为空或显示为空。
可以增加一列,更新它时,服务用户,其订购。 –
“我想选择打印过程,但在此之前我想检查前面的过程是否已经完成。”以前的过程是“追踪”吗?如果是这样,为什么我在查询中看不到? –
你能展示预期的结果吗? –