Biraz sizin benim tabloları optimize yardımcı olabilir eğer şu anda, çünkü aşağıdaki sorunlardan yürütmek için çok uzun sürebilir gibi ben gerçekten takdir ediyorum:
Ana tablo:
game {
game_id [PRIMARY KEY]
*team_id
*stadium_id
home_score
opponent_score
date
tour
half_home_score
half_opp_score
attendance
referee_id
coach_id
captain_id
}
players (contains all players that played in the game) {
*game_id
*team_id
*player_id
position
number
}
tries, conversions, penalties, dropgoals {
*player_id
*game_id
*team_id
}
team {
team_id [PRIMARY KEY]
country
}
player {
player_id [PRIMARY KEY]
*team_id
name
surname
fullname
DOB
POB
school
height
weight
position
}
I tend to make all *_id's of type (UNSIGNED INT[5])? I am a bit unsure if UNSIGNED is needed
All text is VARCHAR(500..200) depending on the size needed
I use DATE type where I can eg. DOB, date
'*' - Diğer tablolardaki birincil anahtarlar, yabancı anahtarlarını belirtir
Bir sayfa ne olur şudur, özellikle yavaş:
Sayfa çok benim sorguları aşağıdaki gibidir, belirli bir oyun için oyuncuların sanatçısını gösterir:
SELECT all player_id's,number,position FROM players table WHERE game_id is specific game's id getTries(player_id,game_id) from tries table . . getDropgoals(player_id,game_id) from dropgoals table
player tablosundan getPlayerName (player_id)
Masaya çıktı Alınan ayrıntıları
<tr>
<td>tries</td>...<td>dropgoals</td><td>position</td><td>player's name</td><td>number</td></tr>
Birisi görünür bazı tuzaklar işaret eğer ben gerçekten takdir ediyorum.
Selamlar
/ / Düzenle
Ben aşağıdaki sorgu kullanmış, ama sadece çalışır tabloda bulunan satır çıktılar, ben tüm oyuncular buldum çıkış istiyorum, ancak denemeden sayısı hiç denemeden bu oyuncu için attı olsaydı diye, attı ki saymak o denemeden için oyuncuların bilgilerini ama 0 must yine çıkış attı.
I am not sure if my query is correct: SELECT ps.player_id, ps.position, ps.number, p.name, p.surname, COUNT(*) AS triesNo FROM players ps, player p, tries WHERE p.player_id=ps.player_id AND ps.game_id = '$game_id' AND ps.team_id IS NULL AND tries.player_id = ps.player_id GROUP BY ps.player_id ORDER BY ps.number
Ben o hiç denemeden attı eğer o da o bir deneyin attı eğer şimdi sadece çalar verir, bir oyuncu dönmek istiyorum.
Kimse lütfen yardımcı olabilir misiniz?