Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 联合收割机2台_Mysql - Fatal编程技术网

Mysql 联合收割机2台

Mysql 联合收割机2台,mysql,Mysql,当我有如下表格状态时 id | status | prev_status 1 | open | 0 2 | checking | 1 3 | reject | 2 4 | approve | 2 5 | close | 4 和下面的表事务 id | no | date | status_id 1 | IDN01 | 2018-12-01 | 1 2 | IDN02 | 2018-12-02

当我有如下表格状态时

id  | status    | prev_status
 1  | open      | 0
 2  | checking  | 1
 3  | reject    | 2
 4  | approve   | 2
 5  | close     | 4     
和下面的表事务

id  | no     |   date     | status_id
 1  |  IDN01 | 2018-12-01 |  1
 2  |  IDN02 | 2018-12-02 |  2
 3  |  IDN03 | 2018-12-03 |  1
 4  |  IDN04 | 2018-12-04 |  1
 5  |  IDN05 | 2018-12-05 |  4     
当我从id=2的事务中选择status_id时,如何显示结果也显示id 2中status_id的下一个状态

status_id | status 
    2     | checking
    3     | reject
    4     | approve

感谢您的高级支持,

您的数据库模型有点奇怪,有两个单独的外键。无论如何,您可能要查找的查询是:

select c.id, c.status
from transaction t
join status c on c.id = t.status_id
where t.id = 2
union all
select p.id, p.status
from transaction t
join status p on p.prev_status = t.status_id
where t.id = 2

您是要查看下一个状态还是上一个状态??我认为很明显,打开状态是通过检查然后批准或拒绝然后关闭来确定的。您的问题到底是什么?阅读并创建一个例子,让老师想要查看当前状态和下一个状态下一个状态?!?!