MySQL - рекурсивное самостоятельное соединение, если столбец заполнен - PullRequest
0 голосов
/ 22 декабря 2018

Для моей таблицы продуктов у меня есть следующие (для этого вопроса) важные столбцы:

{{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 выглядит так ".... где id = 4 ", но для того, что я смог исследовать, это кажется невозможным.

Так что простой вопрос будет: это возможно или нет?и если да, каков наилучший подход к этому?

С уважением

...