2013-06-03 2 views
3

Как я могу с одним запросом: Я хотел бы иметь из моей таблицы комментариев всех людей, как комментировать данные post_id, и проверять, сколько раз пользователь прокомментировал , основанный на его имени. Я хотел бы избежать иметь 2 различных запросов для егоmysql разные запросы на выбор в одном

Я пытался следующий, но не вернется к ожидаемому результату

SELECT comments.*, COUNT(approved.comment_approved) AS has_commented FROM wp_comments AS comments 
    INNER JOIN wp_comments AS approved 
    ON comments.comment_author = approved.comment_author 

WHERE comments.comment_post_ID =14616 
GROUP BY comments.comment_content 
+0

Можете ли вы рассказать ожидаемый результат по сравнению с текущим? Еще лучше построить [sqlfiddle] (http://sqlfiddle.com/) –

ответ

3

ты не должен группу по post_ID? (Что бы вернуть только одну строку)

SELECT 
    comments.* 
, COUNT(approved.comment_approved) AS "has_commented" 
FROM wp_comments AS comments 
JOIN wp_comments AS approved 
    ON (comments.comment_author = approved.comment_author) 
WHERE comments.comment_post_ID = 14616 
GROUP BY comments.comment_post_ID 
; 

Или вы хотите, одна линия на «утвержден» комментарий?

+0

спасибо много! это сработает – fefe