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

Requêtes MySQL Discussion :

Requête sur deux tables avec le même nom de colonne


Sujet :

Requêtes MySQL

  1. #1
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut Requête sur deux tables avec le même nom de colonne
    Bonjour

    Je fais cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `Occitanie` WHERE `libvoi` LIKE 'republique'
    Il n'y a pas de problème, mais quand je cherche sur une autre table également
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `Occitanie`,`HautsdeFrance` WHERE `libvoi` LIKE 'republique'
    la requête me renvoie une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champ: 'libvoi' dans where clause est ambigu
    Je suppose que c'est parce que ce champ porte le même nom dans les deux tables.
    N'y a-t-il pas moyen de chercher dans plusieurs tables qui portent le même nom de colonne ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2022
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juillet 2022
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Voila peut-être une orientation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM Occitanie 
    INNER JOIN HautsdeFrance ON Occitanie.libvoi = HautsdeFrance.libvoi
    WHERE libvoi LIKE republique

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    J'ajoute que tu peux donner un alias à tes tables pour éviter de répéter le nom complet de tes tables
    qu'il vaut mieux placer le critère de jointure dans un "ON" plutôt que dans le "WHERE"
    qu'un "LIKE", tel que présenté ici, ne me semble par pertinent
    qu'un "SELECT *" risque aussi de poser problème étant donné que des colonnes ont le même nom (tu peux aussi utiliser un alias avec AS)
    et que j'espère que tu n'as pas 1 table par département

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ALL hdf.libvoi AS hdf_libvoi, o.libvoi AS o_libvoi, ...
    FROM Occitanie AS o
    INNER JOIN HautsdeFrance AS hdf ON o.libvoi = hdf.libvoi
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  4. #4
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2022
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juillet 2022
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    J'étais à l'ouest pour le SELECT...
    Noté pour les AS
    Merci Seb.

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Les remarques qui précèdent sont pertinentes, mais le besoin initial est curieux, il semble qu'on cherche à rapprocher des éléments de deux régions en se basant sur des libellés de voies qui contiennent une partie de libellé identique

    Avant de se préoccuper du comment (la requête SQL), il faut mieux expliquer le quoi : quel est le besoin fonctionnel ?

    Il serait bon de communiquer un exemple de contenu des deux tables et un exemple de résultat attendu.

    Et comme l'indique Séb, il est surprenant d'avoir une table par région, à argumenter.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/04/2016, 16h32
  2. Requête sur deux tables avec incrément de champ
    Par LB dans le forum Langage SQL
    Réponses: 12
    Dernier message: 15/11/2014, 17h41
  3. Requête sur deux tables avec fonction COUNT
    Par islande dans le forum Langage SQL
    Réponses: 13
    Dernier message: 12/08/2013, 16h06
  4. Réponses: 22
    Dernier message: 10/07/2011, 17h49
  5. sql requête sur deux tables avec cumul..
    Par Chris'S dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/01/2010, 23h23

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