0

おそらく本当に簡単ですが、私はそれを完全に理解することはできません。

これが私のSQLです

select ag.product_id, COUNT(reviewer) as review_number    
from PRODUCT ag    
left join RATINGANDREVIEW rr on rr.product_id = ag.product_id
where ag.product_id = 123
group by ag.product_id

これにより、次のように、1 つの製品に対して作成されたレビューの総数が得られます。

商品ID: 123

レビュー番号: 3

しかし、次のようにレビュアーの名前も必要です。

商品ID: 123

レビュー番号: 3

レビュアー: ボブ・スミス

商品ID: 123

レビュー番号: 3

レビュアー: ピーター・ジョーンズ

商品ID: 123

レビュー番号: 3

レビュアー: ジェーン・グリーン

どうすればいいですか?

4

2 に答える 2

1

次のようなことができます。

select 
ag.product_id, 
reviewer,

(select COUNT(reviewer) 
from PRODUCT ag
left join RATINGANDREVIEW rr on rr.product_id = ag.product_id
where ag.product_id = 123) as review_number

from PRODUCT ag
left join RATINGANDREVIEW rr on rr.product_id = ag.product_id
where ag.product_id = 123
于 2013-02-18T18:41:22.333 に答える
0

このようにしてみてください

select ag.product_id, COUNT(reviewer) as review_number, rr.reviewer_name
from PRODUCT ag    
left join RATINGANDREVIEW rr on rr.product_id = ag.product_id
where ag.product_id = 123
group by ag.product_id,rr.reviewer_name
于 2013-02-18T18:38:29.090 に答える