Хорошо, я постараюсь быть максимально точным. У меня есть база данных с комментариями, у которых есть parent_comment_id. Я хочу выбрать количество комментариев из этой таблицы и соответствующее количество ответов на эти комментарии. Вот и моя проблема: если я произвольно выберу комментарии, я могу схватить те, у кого нет ответов. Однако, если я сначала выберу ответы на комментарии, я могу получить ответы, которые уже являются ответом на другой комментарий. Итак, что я хочу сделать, так это получить ответы, которые являются немедленными ответами на комментарий (parent_comment_id = NULL), а затем получить эти комментарии на основе parent_comment_id. Как мне go сообщить об этом в запросе?
Предположим, что это макет базы данных
comment_id parent_comment_id
1 NULL
2 NULL
3 1
4 3
5 1
6 3
7 1
8 4
9 NULL
10 NULL
...
Теперь я бы выбрал, скажем, 2 ответа и соответствующие комментарии. Если я просто выберу первые 2 ответа, я получу комментарии 3 и 4, но если я прослежу их, я получу только комментарий 1, потому что комментарий 4 является ответом на ответ. Вместо этого я хотел бы найти только комментарии, родительский комментарий которых не имеет родительского комментария, в этом примере это будут комментарии 3 и 5. рекурсивно получать родителей, которые я понятия не имею, как это сделать в SQL запросах.