Это сценарий: Я разрабатываю веб-сайт, похожий на stackoverflow.com. После того, как искатель/искатель разместит свой вопрос, другие пользователи могут опубликовать свои ответы на вопрос. Пользователь может публиковать несколько ответов на один и тот же вопрос, но обычно отображается только последний ответ. Пользователь может дать комментарии по ответу, если комментарии выходят за рамками рассмотрения, SQL-оператор являетсяКак написать эту сложную команду SQL (MySQL)?
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 вы можете дать только один ответ на вопрос. Но на моем сайте пользователь может ответить на вопрос много раз. Но только последний ответ будет серьезно рассмотрен.
Столбцы таблицы комментариев - комментарии, ответ, комментарий, даритель, comment_time. Так что вопрос ---> ответ ----> комментарий.
Вы можете разместить более одного ответа на переполнение стека, насколько я знаю. –
Итак, как написать SQL-запрос? – Steven