0

以下のデータベースをCompで各種htmlテーブル群に表示したいと思います。

チームA チームB コンプ
ケニア ナミビア アフリカ ワールド カップ - 予選
ジンバブエ モザンビーク アフリカ ワールド カップ - 予選
コヴェントリー シティ コルチェスター ユナイテッド イングランド - リーグ 1
ブレイ・ワンダラーズ UCD リーグ・オブ・アイルランド - プレミア部門
ダンドーク ドロヘダ ユナイテッド リーグ オブ アイルランド - プレミア ディビジョン

例表 1

コンプ: アフリカ ワールド カップ - 予選
ケニア ナミビア
ジンバブエ モザンビーク

例の表 2

イングランド - リーグ 1
コヴェントリー シティ コルチェスター ユナイテッド

私は試した

SELECT GROUP_CONCAT(Comp) as Comp 
  FROM database 
 Group By Comp`

しかし運がない。

4

2 に答える 2

0

データベースの設計に問題があると思います。あなたのアウトプットは、特定の大会でゲームを表示することだと理解していますか? では、チーム A はチーム B と対戦し、C の大会で対戦しますか?

私が思うに、2つ以上のテーブルを作成する必要があります。

  • テーブル A: すべてのチームが含まれています。
  • すべての競技を含む表 B (おそらくチームが複数の競技に参加する可能性があるため)。
  • 大会でチームに参加するための表C。
  • ある大会で試合を行うテーブルD。

表 D では、表 C のレコードのみをリンクしています。理由は、チームが参加していない大会でプレーするのを防ぐためです。

そう :

Table A (Teams) contains columns (idTeam INT, Teamname VARCHAR 50)
Table B (Competitions) contains columns (idComp INT, Competitionname VARCHAR 50)
Table C (TeamCompetitions) contains columns (idTeam INT, idComp INT)
Table D (Games) contains columns (idTeamCompA INT, idTeamCompB INT, idComp INT)

次に、クエリはそれほど難しくありません。

SELECT 
  TeamA.Teamname as teamA,
  TeamB.Teamname as teamB,
  comp.Competitionname as competition
FROM 
  Games 
     JOIN TeamCompetitions AS compTeamA ON compTeamA.idTeamCompetition = Games.idTeamCompA
     JOIN Teams            AS TeamA     ON compTeamA.idTeam = TeamA.idTeam
     JOIN TeamCompetitions AS compTeamB ON compTeamB.idTeamCompetition = Games.idTeamCompB
     JOIN Teams            AS TeamB     ON compTeamB.idTeam = TeamB.idTeam
     JOIN Competitions AS comp ON compTeamA.idCompetition = comp.idCompetition

例: チーム

1   Zimbabwe
2   Kenya
3   AJAX
4   Chelsea
5   Feyenoord
6   PEC Zwolle

大会

1   World Championship 2014
2   Dutch Premier League

チーム大会

1   1   1
2   1   1
3   2   1
4   3   1
5   4   1
6   3   2
7   5   2
8   6   2

ゲーム

1   2
2   3
7   6
7   8

クエリの出力:

teamA   teamB   competition
Zimbabwe    Zimbabwe    World Championship 2014
Zimbabwe    Kenya   World Championship 2014
Feyenoord   AJAX    Dutch Premier League
Feyenoord   PEC Zwolle  Dutch Premier League

お役に立てれば!

于 2013-09-08T09:42:15.200 に答える