IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

Requête sur 2 tables


Sujet :

MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut Requête sur 2 tables
    Bonjour à tous,

    Je tourne en rond sur une foreign key qui me semble relativement simple mais je ne détecte pas mon erreur.

    En gros j'ai 2 tables

    - User
    - Ticket

    La table User :

    -User_Id (primary)
    -User_Nom

    La table ticket

    - Ticket_Id (primary)
    - Numero_Ticket
    - Ticket_Nom
    - Id_User (index > gestion des relations : maBdd.user.User_Id)

    Quand j’exécute cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Ticket_Id, user.User_Nom from ticket, user WHERE Numero_Ticket = 5
    J'obtiens TOUS les noms de la table User.

    Je ne comprends pas très bien normalement il devrait me retourner uniquement 2 noms qui ont un rapport avec le ticket numéro 5.

    Si je réalise la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT User_Id FROM ticket WHERE `Numero_Ticket` = 5
    La il me retourne bien uniquement les 2 User_Id présent dans la table Ticket.

    Pourriez-vous m'indiquer ce qui coince avec ma première requête ? Le nez dans le guidon je ne vois plus grand chose

    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    A force d'être dedans j'en avais oublié mes bases.

    Pour ce qui sont comme moi ne pas oublier d'ajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT attribut
    FROM Table1 T, Table2 U
    WHERE U.User_Id = T.User_Id AND [...]
    A bientôt

  3. #3
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonsoir

    Je crois que cette syntaxe est un peu obsolète.

    J'ai lu qu'il fallait plutôt ecrire quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT ticket.Ticket_Id, user.User_Nom 
    from ticket
    inner join user
    on user.User_Id = ticket.User_Id 
    WHERE Numero_Ticket = 5
    Pierre

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    Citation Envoyé par pier.antoine Voir le message

    Je crois que cette syntaxe est un peu obsolète.

    J'ai lu qu'il fallait plutôt ecrire quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT ticket.Ticket_Id, user.User_Nom 
    from ticket
    inner join user
    on user.User_Id = ticket.User_Id 
    WHERE Numero_Ticket = 5
    Pierre
    En effet, d’ailleurs avec une telle syntaxe, le problème aurait été réglé tout de suite, car le SGBD aurait réclamé la condition de jointure manquante, alors qu'avec l'ancienne syntaxe, il a sans bronché fait un produit cartésien...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'aide pour requête sur grosse table
    Par Fabouney dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/01/2006, 09h01
  2. Problème de requêtes sur deux tables
    Par Pymm dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2005, 09h06
  3. Requête sur plusieurs tables
    Par drinkmilk dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/07/2005, 12h25
  4. Requête sur 2 tables ?
    Par kibodio dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/03/2005, 15h57
  5. Requête sur 2 tables et surtout novice...
    Par kibodio dans le forum Langage SQL
    Réponses: 13
    Dernier message: 03/03/2005, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo