0

私は2つのテーブルを持っています:articlesとarticle_comments(article_commentsにはarticle_id fkがあります...)それらに関連するコメントが1つだけある記事の詳細を選択する必要があります(または他の固定番号、1は単なる例です)

私はこのようなことを試しましたが、エラーが発生しました:

SELECT *
FROM articles a, article_comments ac
WHERE a.article_id = ac.article_id
AND COUNT(ac.article_id) = 1
GROUP BY ac.article_id;
4

3 に答える 3

1

あなたの答えはHAVING count(ac.article) = 1

于 2013-03-03T12:43:15.407 に答える
1
SELECT  a.*
FROM    articles a
        INNER JOIN
        (
            SELECT  article_id, COUNT(*) totalComments
            FROM    article_comments 
            GROUP   BY article_id
            HAVING  COUNT(*) = 1  -- change the value here
        ) b     ON a.article_id = b.article_id
于 2013-03-03T12:44:24.950 に答える
1
SELECT
 a.article_id,
 count(c.article_id)
FROM
 articles a
JOIN
 article_comments c ON c.article_id = a.article_id
GROUP BY 1
HAVING count(c.article_id) = 1;
于 2013-03-03T12:45:41.960 に答える