История изменений
Исправление alex_the_v, (текущая версия) :
Самый простой и вместе с тем гениальный способ построения дерева, это не использовать никакие id, parent_id, не использовать
Ну-ну, далеко пойдешь. Если бы ты строил дерево как все нормальные люди с id и parent_id, то мог бы потом по-царски написать рекурсивный запрос, и тогда у тебя что угодно влезло бы в этот один запрос. Например так:
with threads_recursive (comment_id, comment_data) as (
select i.comment_id,
i.comment_data
from comments i
where i.comment_id = 1
union all
select c.comment_id,
c.comment_data
from threads_recursive p
inner join comments c on c.parent_id = p.comment_id
) select * from threads_recursive;
Но ты закладываешь весьма странное решение в свою конструкцию, и поэтому тебе предстоит всю дорогу трахаться с substr(instr(substr(instr())))). Причем, не факт, что у тебя всегда получится выражать то, что там тебе понадобится.
Исходная версия alex_the_v, :
Самый простой и вместе с тем гениальный способ построения дерева, это не использовать никакие id, parent_id, не использовать
Ну-ну, далеко пойдешь. Если бы ты строил дерево как все нормальные люди с id и parent_id, то мог бы потом по-царски написать рекурсивный запрос, и тогда у тебя что угодно влезло бы в этот один запрос. Например так:
with threads_recursive (comment_id, comment_data) as (
select i.comment_id,
i.comment_data
from comments i
where i.comment_id = 1
union all
select c.comment_id,
c.comment_data
from threads_recursive p
inner join comments c on c.comment_id = p.comment_id
) select * from threads_recursive;
Но ты закладываешь весьма странное решение в свою конструкцию, и поэтому тебе предстоит всю дорогу трахаться с substr(instr(substr(instr())))). Причем, не факт, что у тебя всегда получится выражать то, что там тебе понадобится.