テーブルの連結とグループ化のSQLの作成
SQL初心者です。
下記のSQL練習サイトの13番に関する質問です。
テーブルの連結とグループ化のSQLの作成にだいぶ煮詰まっているので
アプローチの仕方について教えてください。
「下に示す様に、各試合ごとに各チームの得点を表示する。 この問題は、ここまでまだ未解説のSQL構文「CASE WHEN」を使用する。」
http://sqlzoo.net/wiki/The_JOIN_operation/ja
team1とteam2に対して、goalテーブルからスコアを集計(GROUP BY)してあげなければいけないところまでは分かっているんですが
gameテーブルとgoalテーブルをどう分割し、どうグループ化したら良いのかわかりません。。
ここまでは出来ています。
SELECT ga.mdate,ga.team1
FROM game ga ,goal go1
WHERE ga.id = go1.matchid
AND ga.team1 = go1.teamid
ORDER BY ga.mdate
追記
user20098さん
ご返答ありがとうございます。
可能であれば、勉強のために
解答例示していただけないでしょうか。
以下のように、全ての試合のチーム名とゴールしたチーム名を
出すところまでは出来たんですが…
[CASE WHEN]
を使用してteam1とteam2の得点を集計するやり方が分からないです。
(提示していただいたポイントの一番下しかできていないです。)
SELECT ga.mdate,ga.team1 ,ga.team2,go.teamid as goalTeam
FROM game ga
LEFT OUTER JOIN goal go ON ga.id = go.matchid
ORDER BY ga.mdate , ga.id