Как заставить комментарий ответить запросу в MySQL?

Хорошо, вот что сработало для меня:

$ brew update
$ brew uninstall node
$ brew install node
$ sudo brew postinstall node #This what the important step
7
задан Michael Easter 29 January 2010 в 18:41
поделиться

2 ответа

Вы можете использовать выражение в ORDER BY. Попробуйте следующее:

SELECT *
FROM comments
ORDER BY IF(ParentId = 0, Id, ParentId), Id

Сначала выполняется сортировка по Id, если ParentId = 0, или по ParentId в противном случае. Второй критерий сортировки - это идентификатор, чтобы гарантировать, что ответы возвращаются по порядку.

17
ответ дан 6 December 2019 в 12:53
поделиться

Я настоятельно рекомендую вам реструктурировать схему базы данных. Основная проблема заключается в том, что вы пытаетесь относиться к комментариям и ответам как к одному и тому же, а это просто не одно и то же. Это заставляет вас задавать сложные вопросы.

Представьте, что у вас есть две таблицы: [COMMENTS: (id, text)] и ответы на комментарии в другой таблице [REPLIES (id, commentid, text)]. Если думать таким образом, проблема кажется намного проще.

1
ответ дан 6 December 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: