Это сценарий:
Я занимаюсь разработкой сайта, который похож на stackoverflow.com.
После того, как спрашивающий / ищущий публикует свой вопрос, другие пользователи могут опубликовать свои ответы на вопрос.
Пользователь может опубликовать более одного ответа на один и тот же вопрос, но обычно отображается только последний ответ. Пользователь может давать комментарии к ответу, если комментарии не рассматриваются,
SQL-оператор
mysql_query("SELECT * , COUNT( memberid ) AS num_revisions
FROM (
SELECT *
FROM answers
WHERE questionid ='$questionid'
ORDER BY create_moment DESC
) AS dyn_table JOIN users
USING ( memberid )
GROUP BY memberid order by answerid asc")or die(mysql_error());
Когда комментарии будут приняты во внимание, будет три таблицы.
Я хочу выбрать все последние ответы, которые решатель дал на конкретный вопрос, сколько ответов (num_revisions) решатель дал на вопрос, имя решателя, комментарии к последнему ответу.
Как написать этот оператор SQL? Я использую MySQL.
Я надеюсь, вы понимаете мой вопрос. Если вам не ясен мой вопрос, просто попросите разъяснений.
Это немного сложнее, чем stackoverflow.com. На stackoverflow.com вы можете дать только один ответ на вопрос. Но на моем сайте пользователь может ответить на вопрос много раз. Но только последний ответ будет серьезно обработан.
Столбцы таблицы комментариев: commentid, answerid, comment, giver, comment_time.
Так что это вопрос ---> ответ ----> комментарий.