次の2つのテーブルがあります:
reviews table:
id
visits table:
id
review_id
少なくとも 1 つの訪問記録を持つレビューのレビュー リストを表示しようとしています。HAVING(およびGROUP)でLEFT OUTER JOINを試みましたが、すべての訪問回数でレビューが得られます。次のようなテーブルを作成する計画: レビュー #1 - 2 回の訪問 レビュー #2 - 10 回の訪問 .. など、0 回の訪問のレビューは無視
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 を使用する必要はありません。この場合、訪問のあるレコードが返されます。
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