0

次の2つのテーブルがあります:

reviews table:
id

visits table:
id
review_id

少なくとも 1 つの訪問記録を持つレビューのレビュー リストを表示しようとしています。HAVING(およびGROUP)でLEFT OUTER JOINを試みましたが、すべての訪問回数でレビューが得られます。次のようなテーブルを作成する計画: レビュー #1​​ - 2 回の訪問 レビュー #2 - 10 回の訪問 .. など、0 回の訪問のレビューは無視

4

2 に答える 2

1
select r.id,count(v.id) from reviews r inner join visits v on r.id=v.review_id 
GROUP BY v.review_id

INNER JOIN は一致するレコードのみを返すため、LEFT JOIN を使用する必要はありません。この場合、訪問のあるレコードが返されます。

于 2012-08-02T05:59:23.783 に答える
0
select 
    r.id,
    count(v.id) as Reviews
from reviews r 
left join visits v on r.id=v.review_id 
GROUP BY v.review_id
having Reviews > =1
于 2012-08-02T06:05:00.097 に答える