スポーツのリストを含むスポーツと呼ばれるテーブル、特定のスポーツの季節を含む季節と競争のある競技特定のスポーツと季節。他のテーブルの2つのCOUNT()に条件がある場合のクエリ
スポーツのリストを印刷するには、季節や競争の度合いをそれぞれ1つのMySQLクエリで確認する必要があります。私のテーブル構造:
スポーツ
+--------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(32) | NO | | NULL | |
| slug | varchar(45) | NO | | NULL | |
| description | varchar(128) | NO | | NULL | |
+--------------------+------------------+------+-----+---------+----------------+
季節
+--------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| id_sport | int(10) unsigned | NO | MUL | NULL | |
| name | varchar(32) | NO | | NULL | |
| slug | varchar(32) | NO | | NULL | |
+--------------------+------------------+------+-----+---------+----------------+
競技
+--------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| id_season | int(10) unsigned | NO | MUL | NULL | |
| name | varchar(32) | NO | | NULL | |
| slug | varchar(64) | NO | | NULL | |
| description | varchar(128) | YES | | NULL | |
+--------------------+------------------+------+-----+---------+----------------+
クエリの結果には、スポーツ。*、total_seasons(seasons.id_sport = sports.idのシーズンの合計)とtotal_competitions(competition.id_season = seasons.idとseasons.id_sport = sports.idの競合の合計)が含まれている必要があります。 。
ありがとうございます!
に参加する参加する代わりに、内側の左に何かを確認してください...季節が同時に重なった...正しい複数のスポーツを持つことができますか? – DRapp
@DRapp:各スポーツは季節を作ります。彼らはスポーツの間で共有されていません。したがって、サッカーは2010年から2011年のシーズンで、id = 1、id_sport = 1、サッカーシーズン2010-2011(id = 2、id_sport = 2)です。ありがとうございました! – ipalaus