Комментарий к таблице содержит комментарий и ответы на него
CREATE TABLE `comment` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`comment` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
Таблица reply_to, в которой есть response_id и comment_id
оба идентификатора записей в таблице комментариев.
CREATE TABLE `reply_to` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`response_id` int(11) NOT NULL,
`comment_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
)
Если в комментарии к таблице есть такие данные: 
Вопрос: Как я могу отобразить все комментарии и ответы на них, используя левое внешнее соединение?
Этот вопрос возник с этой страницы
Database design for comments and replies How come the sql below not working here ?
SELECT c.comment, r.comment as reply
FROM Comment c
LEFT OUTER JOIN Comment r on c.id = r.id
LEFT OUTER JOIN reply_to rt on rt.response_id = r.id
Ожидаемый результат также был бы полезен.
Даже лучше, чем «ожидаемый результат»: объяснение того, что средства должно быть как «response_to» 2, так и «comment_id» 1 ...
Продолжать. Попробуй что-нибудь
Это похоже на домашнее задание.






До сих пор не совсем понятно, как вы хотите, чтобы результаты выглядели, но исходный запрос (тот, который содержит соединения ANSI-89) из сообщения, на которое вы ссылаетесь, дает результаты, которые я ожидал:
Поэтому я переписал этот запрос, добавив правильные соединения, и он выглядит так:
SELECT
oc.comment,
rc.comment
FROM
comment oc
INNER JOIN
reply_to r
ON r.comment_id = oc.id
INNER JOIN
comment rc
ON r.response_id = rc.id
Если вы хотите видеть комментарии без ответа:
тогда вы можете использовать левые внешние соединения следующим образом:
SELECT
oc.comment,
rc.comment
FROM
comment oc
LEFT OUTER JOIN
reply_to r
ON r.comment_id = oc.id
LEFT OUTER JOIN
comment rc
ON r.response_id = rc.id
Добавьте тег вашей СУБД