0

以下にこれら3つのテーブルがあります。MySQL クエリを使用して結合したいと考えています。私が提供した表の下には、私の出力がどのように見えるべきかについても示されています。

GameTable:

GameID  GameName    
1       NvsA
2       NvsB
3       DvsA
4       NvsE

PlayerOnGame:

GameID  PlayerName  PlayerNumber  PlayerID
1       Clement     7             10
1       Niyoyita    8             11
2       Clement     8             10
2       David       6             5

PlayerdataTable:

GameID  Action  PlayerNumber
1       kick    7
1       pass    8
1       Run     7
1       Kick    7
2       Kick    8
2       Pass    6
2       Run     8
2       Run     8

のみの出力PlayerName = Clement:

GameName  Action  ActionCount
NvsA      Kick    2
NvsA      Run     1
NvsB      Kick    1
NvsB      Run     2

この出力を取得するためのクエリを誰かが手伝ってくれませんか?

4

1 に答える 1

1

このクエリを使用してカウントできます

SELECT
    gt.GameName,
    pdt.Action,
    count(pdt.Action) AS ActionCount
FROM GameTable AS gt
INNER JOIN PlayerdataTable AS pdt ON pdt.GameID = gt.GameID
INNER JOIN PlayerOnGame AS pg ON pg.GameID = pdt.GameID AND pg.PlayerNumber = pdt.PlayerNumber
WHERE pg.PlayerName = 'Clement'
GROUP BY gt.GameID , pdt.Action 
于 2013-03-13T09:17:18.927 に答える