船の従業員とその職務経験を保存する MySQL データベースを取得しました。従業員を格納する 1 つのテーブル、出荷部門での以前のジョブ ( Type of Job 、 Years ) を格納する 1 つのテーブル、および他の以前のジョブ ( Type of Hob 、 Years ) を格納する別のテーブルを取得しました。これらはすべて、従業員の ID を使用して接続されます。従業員をフェッチするときに、彼の出荷と一般的な経験の合計を取得したいのですが、選択クエリは一般的な経験に対して間違った合計を返します。これは複数の結合が原因であり、テーブルが適切に結合されていないためであることはわかっていますが、これを修正する方法はわかりません。手伝っていただけませんか?
PS 単一のクエリでこれを実行したいと思います。
私が使用するクエリの例
SELECT id , name , SUM( s_exp.years ) , SUM ( g_exp.years )
FROM employees
LEFT JOIN s_exp ON employees.id = s_exp.id ,
LEFT JOIN g_exp ON employees.id = g_exp.id
GROUP BY employees.id