SELECT game_ratingstblx245v.game_id,avg(game_ratingstblx245v.rating)
as avg_rating,
count(DISTINCT game_ratingstblx245v.userid)
as count,
game_data.name,
game_data.id ,
avg(game_ratings.critic_rating),count(DISTINCT game_ratings.critic)
as cr_count
FROM game_data
LEFT JOIN game_ratingstblx245v ON game_ratingstblx245v.game_id = game_data.id
LEFT JOIN game_ratings ON game_ratings.game_id = game_data.id
WHERE game_data.release_date < NOW()
GROUP BY game_ratingstblx245v.game_id
ORDER BY game_data.release_date DESC,
game_data.name
J'utilise currenty cette requête pour extraire des valeurs de 3 tables
game_data - id (clé étrangère), nom, jeux release_date de \ informations
game_ratings - game_id (clé étrangère), critique, note \ critique note
game_ratingstblx245v - game_id (clé étrangère), note, userid \ user ratingAide dans une requête de jointure
ce que je veux faire avec cette requête est de sélectionner tous les id de la commande table game_data par release_date descendant, puis vérifiez la Note moyenne de game_ratings et game_rating sblx245v correspondant à l'ID individuel (si les jeux n'ont pas été évalués, le résultat devrait renvoyer une valeur nulle des champs des deux dernières tables). Maintenant le problème auquel je suis confronté est le résultat qui ne sort pas comme prévu (certains jeux n'ont pas été notés apparaissent alors que d'autres ne sont pas), pouvez-vous les gars vérifier ma requête et me dire où je me trompe si oui ... Merci
ne devriez-vous pas être grouper par game_data.game_id? –
Cet homme whamps, je l'ai juste négligé ... Merci qui l'a fait – halocursed