0

間違ったデータを返す MYSQL スクリプトを作成しました。私は SQL に精通していますが、このクエリは正しい結果を返しません。誰かが見て、何が起こっているかを見ることができますか。問題は noOfBids と noOfRatedTimes です。値は両方の列で同じであり、大きな値でもあります。

    select
           a.user_name as userName,
           coalesce(count(b.sp_user_name),0) as noOfBids,
           coalesce(ROUND(AVG(b.a_amount),2),0) as avgAmount,
           coalesce(count(d.sp_user_name),0) as noOfRatedTimes,
           coalesce(ROUND(AVG(d.user_rate),2),0)
    from users a
    left join project_imds b
       on b.sp_user_name = a.user_name
    left join projects c
       on b.project_code = c.project_code
    left join sp_user_rating d
       on d.sp_user_name = b.sp_user_name
    where a.user_type = 'SP'
    and a.active = 'Y'
    group by a.user_name
    order by coalesce(ROUND(AVG(d.user_rate),2),0) desc;

一時テーブルを作成して平均値を取得し、これをメインクエリに結合することで、これに関する回避策を作成しました。

4

2 に答える 2