みなさん、おはよう/こんばんは
2 つのテーブルを 1 つのテーブルと一致するステートメントSUM()の特定の列の値に (LEFT) JOIN しようとしています。ON fk_id = id...テーブルは次のようになります。
ws1 テーブル:

ws2 テーブル:

これまでに試したクエリ:
SELECT
alias.name alias,
(SUM(IFNULL(ws1.teamkills,0)) + SUM(IFNULL(ws2.teamkills,0))) teamkills
FROM pickup
JOIN player ON player.pickup_id = pickup.id
JOIN alias ON player.alias_id = alias.id
LEFT JOIN weapon_stats_1 ws1 ON ws1.pickup_id = pickup.id AND ws1.player_id = player.id
LEFT JOIN weapon_stats_2 ws2 ON ws2.pickup_id = pickup.id AND ws2.player_id = player.id
WHERE pickup.logfile_name = 'srv-20130725-2151-log' GROUP BY player.id
結果:

と:
SELECT
alias.name alias,
(SUM(DISTINCT IFNULL(ws1.teamkills,0)) + SUM(DISTINCT IFNULL(ws2.teamkills,0))) teamkills
FROM pickup
JOIN player ON player.pickup_id = pickup.id
JOIN alias ON player.alias_id = alias.id
LEFT JOIN weapon_stats_1 ws1 ON ws1.pickup_id = pickup.id AND ws1.player_id = player.id
LEFT JOIN weapon_stats_2 ws2 ON ws2.pickup_id = pickup.id AND ws2.player_id = player.id
WHERE pickup.logfile_name = 'srv-20130725-2151-log' GROUP BY player.id
結果:

同じ値の結果を 1 つだけ選択するため、 がSUM(DISTINCT.... )返されることを理解しています。2DISTINCT
私の目標はSUM()、両方のteamkillsフィールドを取得して、それらを合計することです。3この例では、 where player_idisを返す必要があり4ます。どうやってやるの?
編集:
テーブル「プレーヤー」:

テーブル「ピックアップ」:
