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 :

Deux colonnes avec le même nom dans deux tables


Sujet :

MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Deux colonnes avec le même nom dans deux tables
    Bonjour,

    Je souhaiterais exporter des informations d'une base de données.
    Code,Designation,Adresse de stockage.

    J'ai donc 2 tables à disposition :

    table 1 : ARTICLE
    id,code,designation,estutilise
    id : identifiant unique
    code : code article
    designation : nom détaillé de l'article
    estutilise : utilisation de l'article

    table 2 : ADRESSESTOCKAGE
    id,designation
    id : id de l'article pour la jointure des deux tables
    designation : adresse de stockage

    Dans les deux tables, je me retrouve avec deux colonnes comportant le même nom (Designation).

    j'ai donc écris le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select A.code, A.Designation, A.code_fabricant, B.Designation
    from ARTICLE A
    left outer join ADRESSESTOCKAGE B on B.id = A.id
    where A.estUtilise <> 0
    Le problème est que lorsque j'exporte, le contenu de la colonne A.Designation et B.Designation comporte les même choses.
    J'ai inversé par B.Designation et A.Designation et le contenu est inversé aussi.

    Y a t'il quelque chose à faire pour qu'il aille chercher les informations dans les bonnes colonnes ?

    Merci pour votre aide

  2. #2
    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 912
    Points
    38 912
    Billets dans le blog
    9
    Par défaut
    puisque vous qualifiez vos tables avec des alias A et B, les contenus restitués sont ceux réellement présents dans vos tables, si vous obtenez la même chose c'est qu'il y a la même chose dans la table article et la table adressestockage

    Autre chose : si la colonne estUtilise est indexée, votre filtre utilise un prédicat <>, par définition non sargable.
    Vous contraignez donc le moteur de la base de données à parcourir séquentiellement toute la table pour vérifier l'inégalité, aucun index n'est elligible
    Dans la mesure du possible, il serait préférable de trouver un autre moyen de filtrage
    Exemple, si vous n'avez aucune valeur négative, vous pouvez remplacer <> 0 par > 0, ce qui rendra la requete sargable.

  3. #3
    Candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    exacte pour le <> 0 petite coquille de ma part.
    Pour mon autre problème je ne saisie pas ce qu'il ce passe puisque j'indique bien la table dans laquelle il doit aller chercher les infos et pourtant j'ai deux fois la même colonne -_-'

  4. #4
    Candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    après un export en xls j'ai les bonnes infos...

    MERCI ^^

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut

    Citation Envoyé par fsktouts
    Y-a-t-il quelque chose à faire pour qu'il aille chercher les informations dans les bonnes colonnes ?
    J'imagine que vous avez un problème de contenu avec votre colonne "désignation".
    Dans la table "ARTICLE", il arrive que ce contenu soit à NULL ou à vide.
    Et vous auriez aimé récupérer le contenu de la colonne "désignation" mais de l'autre table "ADRESSESTOCKAGE", si le contenu est absent de la table "ARTICLE".

    S'il s'agit du marqueur NULL, il suffit d'utiliser la fonction "coalesce" ==> "coalesce(a.designation, b.designation) as designation".
    --> http://dev.mysql.com/doc/refman/5.7/...ction_coalesce

    Si par contre, c'est vide que vous devez testez, vous devez utiliser "case" ==> case when a.designation = '' then b.designation else a.designation end as designation".
    --> https://dev.mysql.com/doc/refman/5.7/en/case.html

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/03/2013, 12h58
  2. [Langage/Algorithme] Deux Classes avec le même nom déclaré dans Deux CPP différents
    Par ShaiLeTroll dans le forum C++Builder
    Réponses: 8
    Dernier message: 09/10/2012, 10h35
  3. Deux instances avec le même nom.
    Par Denn's dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/03/2008, 09h09
  4. Réponses: 6
    Dernier message: 23/10/2007, 15h01
  5. [C#]Insérer le même nom dans deux treeview
    Par fafa139 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/04/2006, 19h58

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