Это не базовая иерархия родителей, а более сложная.Родительский ребенок с другим статусом
Ниже приведен пример данных:
id parent_id status
-----------------------
10 10 on
11 10 off
12 12 off
13 13 on
То, что я хочу, чтобы иметь автономные данные (ID 11 и 12). Моя проблема здесь заключается в том, что id 11 имеет родителя с статусом «on», который также следует принять.
Желаемый результат будет:
id parent_id status
-----------------------
10 10 on
11 10 off
12 12 off
То, что я написал так тариф:
SELECT t1.id, t1,parent_id
FROM t1
LEFT JOIN t1 t11 ON t11.id = t1.parent_id
WHERE ((t1.status = 'off' AND t11.status='off')
OR (t1.status = 'off' AND t11.status='on'))
ORDER BY t1.parent_id, t1.id
С помощью этого запроса я не строки с t1 и статусом t11 равных «на '(которые необходимы).
Выходной сигнал этого:
id parent_id status
-----------------------
(10) (10) (on) -- missing row
11 10 off
12 12 off
Как получить желаемый результат (таблица 2)?
Почему бы вам просто не использовать 'WHERE t1.Status = 'off''? – Siyual
Вам нужен только 1 уровень для родителя? – Amit