0
我在這裏面臨一個問題:當運行下面的查詢時,我只得到一行,即使它應該返回「每個在皮卡,他的暱稱,他玩的團隊中發現的玩家,他的ID和總金額作爲一個結果返回多行的MySQL連接表,SUM()med up?
爲了說明它更具可讀性可以看出,如::
pickup_id player_id weapon_id kills teamkills
logfilename1 0:0:1 Shotgun 12 2
logfilename1 0:0:1 RPG 19 0
logfilename1 0:0:2 Grenade 5 8
殺死他皮卡(匹配)」
SELECT alias.name alias, team.name team, sid.steam_id steam_id,
SUM(kills) kills_total
FROM pickup
JOIN player ON player.pickup_id = pickup.id
JOIN team ON player.team_id = team.id
JOIN sid ON player.sid_id = sid.id
JOIN alias ON player.alias_id = alias.id
JOIN weapon_stats_1 ws1 ON ws1.pickup_id = pickup.id AND ws1.player_id = player.id
WHERE pickup.logfile_name = 'logfilename'
的weapon_stats_1表看起來期間犯
我想要做的是通過使用SUM()將總計殺死並將其作爲結果列添加到上面的查詢中。在這個例子中,它應該返回類似的東西來:
alias team steam_id kills_total
nickname1 Red 0:0:1 31
nickname2 Blue 0:0:2 5
當我刪除了JOIN武器[...]行查詢返回正是我希望它 - 在這種特殊情況下爲皮卡.logfile_name =「日誌文件名」,看起來像:
我不明白我在做什麼錯,爲什麼查詢只返回ONE排(一名球員)當我加入weapon_stats_1 ws1 [...]。我如何實現我想要做的事情?
問候
怎麼樣GROUP BY? – Evgeny
非常感謝,如果我3小時前才知道的話。現在就像一個魅力一樣,只需追加'GROUP BY player.id,pickup .id',它會像我想要的那樣返回所有內容。 – phew