MySQL-如果列已填充,则递归自联接

时间:2018-12-22 08:16:23

标签: mysql recursion join self

对于我的产品表,我有以下(针对该问题)重要的列:

{{id}} - primary
{{name}} - product name
{{successor}} - containing the previous id

出于历史原因,我插入新产品并通过后继列将其链接,而不是更新或删除该行(我的有效产品由“ successor is null”定义),所以我可能会得到这样的内容:

1 - Dummy #1 - 3
2 - Dummy #2 - null
3 - Dummy #1 Updated - 4
4 - Dummy #1 Updated again - null

对于报告,我想选择包含其中一些产品的所有订单,但我还需要选择包含先前更新的产品的订单。

所以我正在寻找的是一种方法(可能直接在MySQL中)选择第1行和第3行,尽管我的where子句看起来像“ ... where id = 4”,但是对于我能够进行的研究似乎不可能。

因此,简单的问题将是:是否可能?如果可以,最好的方法是什么?

亲切的问候

0 个答案:

没有答案