質問: go.matchid ORDER BY ga.mdate , ga.id ```
回答: #当該ページの趣旨としてよろしくないと思うので、正解ずばり回答するのは一旦避けます。ポイントだけ。 基本はページ記載の例を拡張すればよいと思います。ポイントは次の3点と考えます。 * SQL文に`team1`に対する`CASE WHEN`の記載があると思いますが、同じ感じで`team2`についても記載する * SQL文(select文の結果)を一時テーブルとして、一時テーブルを`select`して一時テーブルの`score1`、`score2`で集計(`sum`)する * 試合によっては両チーム得点なし(`goal`テーブルにレコードがない)場合があるので、`game`と`goal`を`INNER JOIN`するとそういう試合が出力されないので、2テーブルの結合を工夫する 参考: ページ記載のSQL。 ``` SELECT mdate, team1, CASE WHEN teamid=team1 THEN 1 ELSE 0 END score1 FROM game JOIN goal ON matchid = id ``` 参考になれば幸いです。 追記 == 正解と判定されるSQL文です。 ``` SELECT mdate,team1,sum(score1) score1,team2,sum(score2) score2 FROM ( SELECT mdate, team1, CASE WHEN teamid=team1 THEN 1 ELSE 0 END score1, team2, CASE WHEN teamid=team2 THEN 1 ELSE 0 END score2 FROM game LEFT OUTER JOIN goal ON matchid = id ) t group by mdate,team1,team2 order by mdate ``` #他の手段もあると思いますが、SQLの例を問題文のヒントに沿って拡張するとこういうSQL文になると思います。