j'ai 3 tables qui ressemble à ceci:comment effectuer de sélection de plusieurs tables par plusieurs ids
game_table
+---------+------------+------------+----------------------+----------+
| game_id | game_title | sponser_id | game expiration date | prize_id |
+---------+------------+------------+----------------------+----------+
prize_table
+----------+---------------------------+------------+-------------+--------------------+--------------------------------------------+
| prize_id | prize_image_name | prize_cost | prize_title | remaining_quantity | prize_description |
+----------+---------------------------+------------+-------------+--------------------+--------------------------------------------+
sponser_table
+------------+--------------+
| sponser_id | sponser_name |
+------------+--------------+
Comment construire requête sélectionner toutes les données des 3 tables qui la viande la déclaration qui vont de quelque chose comme le code pseudo:
select all data from game_table and prize_table and sponser_table where game_table.sponser_id = 2 and game_table.prize_id = 2
J'ai essayé quelque chose comme ceci:
SELECT game_list.*, prize_list.* ,sponser_list.* FROM game_list, prize_list,sponser_list
WHERE game_list.sponser_id=2 And game_list.prize_id = 2 And game_list.game_id=2 ;
mais ça ne m'a pas donné de bons résultats.
Pourquoi utiliser une jointure externe gauche? – Romain
Les informations dans la question ne sont pas suffisantes pour déterminer si un jeu doit avoir à la fois un sponsor et un prix ou non. La jointure interne peut masquer une ligne de jeu s'il n'y a pas de prix ou de sponsor, ce qui pourrait créer de la confusion chez les développeurs qui découvrent le SGBDR. C'est pourquoi je suggère d'utiliser une jointure externe. – dasblinkenlight
Je suppose qu'il y a des données dans les trois tables et que j'utilise une jointure interne, pour des raisons de performances, puis ajoutez un commentaire disant qu'il faut utiliser des jointures externes si certaines tables ne peuvent pas avoir de données associées. Puisque le PO mentionne un filtre sur chacune des tables, je suppose que tous devraient avoir des données de toute façon. – Romain