Предположим, у меня есть следующая таблица:Получить строк по транзитивности в MySQL
Images
|id | similarTo|
|---|----------|
|1 | 2 |
|2 | 3 |
|--------------|
Где similarTo является foriegn ключом к идентификатору. То, что я хочу, - это запрос, который может получить переходное закрытие id до двух уровней в обоих направлениях. Другими словами, то, что мы имеем: A -> B ---> C , а также C -> B -> A
И поэтому в данном случае я хотел бы его вернуть:
Given 1: 2,3
Given 2: 1,3
Given 3: 1,2
По существу, я сохраняю функцию (изображение A) аналогично (изображение B) в таблице. Эта функция работает в обоих направлениях, поэтому, если A похож на B, тогда B похож на A. Теперь мне нужен запрос, который может найти все изображения, похожие на заданное изображение, до двух уровней/шагов ... (то есть, если учитывая A -> B -> C -> D, теперь, если я хочу, чтобы найти все изображения, похожие на A, он вернется B, C)
Отлично, как бы я запросил конкретный идентификатор, скажем 2? (так, чтобы он возвращался, например, 1,3) –
Не могли бы вы проверить обновленный ответ? – 1000111
Добро пожаловать. – 1000111