0
これは宿題に関する質問です。複数のテーブルに自然に結合した後にグループ化する方法
私はテーブルのチームがあります。
teamid | teamcity | name
テーブルゲーム:
gameid | date | gamecity
とテーブルは、私が何をしようとしている
gameid | teamid | teamscore
をgames_playedは唯一の選択でありますどちらのチームの都市も試合に出場していない都市で行われているゲーム。
例えば、トロント・ラプターズとシカゴ・ブルズがニューヨークでゲームをした場合、それが選択されます。
私はそれを含めて、いくつかの異なる方法で試してみた:
WITH TEMP as (SELECT * FROM GAME NATURAL JOIN
GAME_PLAYED NATURAL JOIN TEAM WHERE teamcity != gamecity)
SELECT gameid, gamecity, teamcity, teamname, teamscore FROM TEMP GROUP BY
gameid, gameid HAVING COUNT(gameid) > 1;
と:
SELECT gameid, gamecity, teamcity, teamname, teamscore FROM GAME
NATURAL JOIN GAME_PLAYED NATURAL JOIN TEAM WHERE teamcity != gamecity
GROUP BY gameid HAVING COUNT(gameid) > 1;
私はここから行くのはどこ本当にわからないが。最後の1つは私にエラーです: "column" teams.teamcityはGROUP BY句に現れなければならないか、集約関数で使わなければなりません "。
、他はそれを知って、このみましょうが解消されます。ありがとう。 *途中で内部結合を使用する方法を知りたいかもしれませんが、自然結合は非常に制限されています。* –
@Used_By_すでに2日間回答を受け入れることはできません。そして、ありがとう、私は間違いなく内側の結合を調べます! – Strobe00