1

スポーツ競技に使用するデータベースを作成しています。ゲームの結果を表示するには、6 つのテーブルを結合する必要があります。

  • シーズンズ
  • ラウンド r
  • Rounddetails rd
  • マッチメートル
  • 試合詳細 MD
  • ゲームg

select ステートメントが次のようなものを返すようにします。

g.gameid、g.pointsfor、g.pointsagainst、md.matchdetailsid、m.matchid、rd.rounddetailsid、r.roundid、s.seasonid

それを返すMySQLステートメントを書くのを手伝ってくれる人はいますか?

リンクをクリックして表を表示してください

テーブル

編集:これまでのところ、このクエリを試しました:

select
`s`.`seasonID` AS `seasonID`,
`r`.`roundID` AS `roundid`,
`rd`.`roundDetailsID` AS `roundDetailsID`,
`m`.`matchid` AS `matchid`,
`md`.`matchDetailsID` AS `matchDetailsID`,
`g`.`gameid` AS `gameid`,
`g`.`pointsfor` AS `pointsfor`,
`g`.`pointsagainst` AS `pointsagainst`
from (((((`season` `s` left join `round` `r` on((`s`.`SeasonID` = `r`.`SeasonID`)))
left join `rounddetails` `rd` on((`r`.`RoundID` = `rd`.`RoundID`)))
left join `match` `m` on((`rd`.`matchid` = `m`.`matchid`)))
left join `matchdetails` `md` on((`m`.`matchid` = `md`.`matchid`)))
left join `game` `g` on((`md`.`matchdetailsid` = `g`.`matchdetailsid`)))
4

1 に答える 1

0
SELECT DISTINCT g.gameid, g.pointsfor, g.pointsagainst, md.matchdetailsid, m.matchid, rd.rounddetailsid, r.roundid, s.seasonid
FROM Match AS m
INNER JOIN MatchDetails as md
ON Match.MatchId = MatchDetails.MatchId
INNER JOIN Game as g
ON MatchDetails.MatchDetailSid = MatchDetailSid
INNER JOIN RoundDetails as rd
ON Match.MatchId = RoundDetails.MatchId
INNER JOIN Round as r
ON Round.RoundId = RoundDetails.RoundId
INNER JOIN Season as s
ON Round.SeasonId = Season.SeasonId
WHERE MatchId = 1
于 2012-12-06T20:55:23.870 に答える