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 et SQL. Discussion :

Problème de nom de champs


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Points : 41
    Points
    41
    Par défaut Problème de nom de champs
    Bonjour,

    Voila mon problème :
    J'ai une requête contenant deux tables (T1 et T2). J'ai plusieurs jointures enrte cex deux tables (les champs "année", "mois", "pays"...).
    Le problème est que je veux récupérer les données dans ma requête, le champs "pays" n'est pas correct, j'obtiens le résultat suivant :

    année mois T1.pays ...

    J'obtiens "T1.pays" alors que je ne veux que "pays".
    J'ai essayé de faire T1.pays AS pays, mais là, je n'obtiens que des blancs dans les données.

    Merci pour votre aide.

    Johann

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Pourriez vous poster la requête s'il vous plaît ?


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Points : 41
    Points
    41
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    SELECT T1.phase
             , T1.organisation
             , T1.année
             , T1.mois
             , T2.[type flux]
             , T2.[type routage]
             , T2.routage
             , T2.[zone cédante]
             , T2.[zone prenante]
             , T2.marché
             , T1.pays
             , T2.canal
             , T2.circuit
             , T1.[niveau article]
             , T1.article
             , T2.région
             , T1.[niveau article regroupement]
             , T1.[article regroupement]
             , T1.volume
             , [volume]*[nouveau ratio] AS résultat
             , [volume palettes]*[nouveau ratio] AS [résultat palettes]
             , [volume litres]*[nouveau ratio] AS [résultat litres]
     
    FROM T1 LEFT JOIN T2 
                 ON (T1.pays = T2.pays) 
                   AND (T1.phase = T2.phase) 
                   AND (T1.organisation = T2.organisation) 
                   AND (T1.année = T2.année) 
                   AND (T1.mois = T2.mois) 
                   AND (T1.marché = T2.marché) 
                   AND (T1.canal = T2.canal) 
                   AND (T1.circuit = T2.circuit) 
                   AND (T1.[groupe marques] = T2.[groupe marques])
     
    WHERE (((T2.[type routage])="TRANSFERT") 
         AND ((T2.routage) Like "TRANSFERT*")) 
          OR (((T2.[type routage])="LIVRAISON") 
         AND ((T2.routage) Not Like "TRANSFERT*"))
    ;
    J'obtiens alors les noms de champs suivants : phase, organisation, année, mois, [type flux], [type routage], routage, [zone cédante], [zone prenante], marché, T1.pays, canal, circuit, [niveau article], article, région, [niveau article regroupement], [article regroupement], volume, résultat, [résultat palettes], [résultat litres]

    Le problème est donc que je récupère "T1.pays" à la place de "pays"

  4. #4
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 406
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Toujours délicat à solutionner...

    Essaie de mettre les cotes [ et ] soit T1.[pays]

    Par ailleurs, attention aux noms de champs T1.année et T1.mois. Ce sont des noms de fonctions, donc tu risques d'avoir une mauvaise interprétation des formules !

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut yoaugoulo, chtulus et Gabout

    je ne comprends pas trop ton soucis. <pays> peux provenir soit de T1 soit de T2 il faut nécessairement mentionner l'origine: T1.pays qui par ailleurs n'utilise que "pays" comme nom de champ même si tu visualise T1.pays (ce qui n'est pas mon cas).
    par ailleurs chez moi les alias ne pose pas de problème:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select t1.champ1 as champ1 from table1 as t1 left join table2 as t2 on t1.champ1=t2.champ1


  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Points : 41
    Points
    41
    Par défaut
    C'est bon j'ai eu la solution. En fait le champs "pays" était issu d'une table "pays" donc il y a avait une confusion entre les deux donc access précisait la table dans le nom du champs.
    En faisant un alias de la ta ble pays, il n'y a plus de soucis.

    Merci pour les précisions.

    A+

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

Discussions similaires

  1. [XHTML 1.0] Problème d'alignement formulaire : ligne de texte et nom de champ
    Par galliryc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 29/06/2009, 11h58
  2. [VBA]: Nom de champ qui pose problème
    Par Amitom dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2007, 09h26
  3. [Problème]Nombre et nom des champs dynamiques dans un form
    Par julienOriano dans le forum Struts 1
    Réponses: 17
    Dernier message: 10/04/2007, 15h32
  4. problème nom de champ = mot clé
    Par JYH dans le forum Bases de données
    Réponses: 1
    Dernier message: 05/12/2005, 12h13
  5. Delphi - Base donnée Paradox, problème de nom des champs
    Par mjp dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/01/2005, 21h10

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