Jointure entre deux tables [Résolu] - SQL/NoSQL - Programmation
Marsh Posté le 25-02-2010 à 08:58:10
Ben ouais.
Déjà dans ton schéma il faut créer les FK. En mySql il faut utiliser le moteur InnoDB pour ça.
Direction google pour la syntaxe du create et du select
http://dev.mysql.com/doc/refman/5. [...] aints.html
et
http://dev.mysql.com/doc/refman/5.0/fr/join.html
Marsh Posté le 25-02-2010 à 16:55:21
Merci pour ta réponse,
Les FK existent déjà et je connais JOIN et SELECT, en fait je me rend compte que j'ai très mal formulé ma question, ce que je cherchais ce n'était pas de faire une jointure entre mes deux tables, mais comment relier un client (TABLE_CLIENT.id_client (PK) ) et une commande ( TABLE_COMMANDE.id_client (FK)) quand de l'id du client est généré automatiquement par Mysql et que le numéro de de la FK doit être le même le tout dans un même formulaire.
En gros : comment récupérer une info avant qu'elle n'existe Bref j'ai compris que cela n'était pas possible et j'ai changé la nature de ma PK pour qu'elle soit générée par le php de ma page. Comme ça je duplique mon id sur cette page et je le rentre en FK dans l'autre table puisque tout se fait dans le même formulaire.
Enfin bref j'ai trouvé cette nuit une solution qui fonctionne, c'est le principal.
Je clos donc le message, merci à toi TotalRecall
Marsh Posté le 25-02-2010 à 01:55:07
Salut,
Sur ma base de données j'ai deux tables distinctes qui devraient avoir une "liaison" entre elles. (les deux tables ci-dessous ne sont que des exemples).
TABLE CLIENT
id_client (auto_increment)
nom_client
TABLE_COMMANDE
id_commande (auto_increment)
id_client
montant_commande
Comme vous le voyez j'ai l'id_client qui se retrouve dans les deux. Pour TABLE_CLIENT c'est la clé primaire et pour TABLE_COMMANDE c'est une clé étrangère. Ces tables sont remplies par l'utilisateur à l'aide d'un formulaire php. L'utilisateur n'a pas besoin de s'occuper des clés primaires vu qu'elles sont en auto_increment, mais le reste il le rentre à la main.
Ce qui fait que je ne sais pas comment lier TABLE_CLIENT.id_client à TABLE_COMMANDE.id_client de manière automatique (l'utilisateur ne connait pas sont identifiant client il ne peut donc pas le noter).
Comment faire cette jointure entre les deux tables pour que ma clé secondaire corresponde bien à la clé primaire de l'autre table?
Je suppose que ça se fait au niveau du SQL et pas du php de mon formulaire, mais je ne sais pas comment m'y prendre.
Merci à vous
Message édité par SV_LVH le 25-02-2010 à 16:55:42
---------------
Quand vous demandez sur un forum comment changer un pneu de voiture peu de gens vous répondent. Et ceux qui le font vous expliquent généralement comment rouler sur 3 roues.