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