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

SQL Oracle Discussion :

Erreur : nom de colonne ambigu dans la liste de sélection


Sujet :

SQL Oracle

  1. #21
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 257
    Points : 76
    Points
    76
    Par défaut
    je suis en stage et mon travail est d'exporter à plat les données d'une (très) vieille solution développée en VB6 et Access

  2. #22
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Citation Envoyé par OZ1977 Voir le message
    en fait, le problème vient du ORDER BY
    https://www.techonthenet.com/oracle/errors/ora00960.php
    Order by peut reprendre le nom des colonnes OU le nom des alias de la clause select (OU un n° correspondant au N° de colonne de la requête , c'est dégueulasse, oublions)

    C'est un peu pour ça que vous conseillez de donner un autre nom qu'un nom de colonne existant (ND_N_SEXE2)

    Avez vous testé cette solution tout en conservant l'order by ?
    Le savoir est une nourriture qui exige des efforts.

  3. #23
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Citation Envoyé par OZ1977 Voir le message
    mon travail est d'exporter à plat les données d'une (très) vieille solution développée en VB6 et Access
    Et Oracle dans tout ça ?

    Pour faire de l'export à plat :
    1- pas besoin de faire des OUTER JOIN (êtes vous sûr de votre besoin ???)
    2- on peut se connecter avec autre chose qu'Access (et du coup bénéficier de syntaxe plus propre)
    Le savoir est une nourriture qui exige des efforts.

  4. #24
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 257
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    je relance cette discussion car j'ai de nouveau le problème
    j'avais réussi à éviter le problème (en supprimant le group by) sans savoir pourquoi ni comment et bien sûr le problème reviens et je ne sis toujours pas comment le solutionner
    et là plus de group by...

    je travaille sous Access 97 car la solution a été développée à l'époque sous Access 97 et avec une base oracle 7
    je ne suis pas parvenu à connecter SQL developper, ni même TOAD à la base Oracle donc effectivement je développe mes requêtes sous Access pour produire une table d'export de données à plat

    pour des raisons de performance (temps d'exécution Access), je suis obligé de faire des sous requêtes pour arriver à ma table d'export finale
    aucun problème sur les première sous requête mais à la sous requête 6 je me retrouve à nouveau avec ce message Oracle "nom de colonne ambigue" or j'ai essayé ce que vous avez préconisé dans les messages de ce post mais sans succès

    en gros, je produis des tables temporaires et j'ajoute progressivement des données venant de tables différentes
    j'ai donc produit une table GENE_EXPORT_TAB5 que je souhaite lier à une table GENE_ISSUE sur l'IDBILAN
    le seul nom de colonne identique est donc IDBILAN mais il sont préfixés du nom de la table donc cela ne devrait pas poser problème
    j'ai essayé en changeant le nom IDBILAN en TAB5_IDBILAN dans ma table GENE_EXPORT_TAB5 mais çà ne change rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    SELECT GENE_ISSUE.IDBILAN, GENE_EXPORT_TAB5.IDPATIENT
    FROM GENE_EXPORT_TAB5 LEFT JOIN GENE_ISSUE ON GENE_EXPORT_TAB5.IDBILAN = GENE_ISSUE.IDBILAN;
    je désespère un peu
    d'avance merci pour votre aide

  5. #25
    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 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Vu que les noms des tables sont à rallonge, il est beaucoup plus pratique de les remplacer par des alias et un peu de mise en forme facilite la lecture

    ainsi, plutôt que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT GENE_ISSUE.IDBILAN, GENE_EXPORT_TAB5.IDPATIENT
    FROM GENE_EXPORT_TAB5 LEFT JOIN GENE_ISSUE ON GENE_EXPORT_TAB5.IDBILAN = GENE_ISSUE.IDBILAN;
    Je préfère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT GI.IDBILAN
         , GE.IDPATIENT
    FROM  GENE_EXPORT_TAB5  as GE
    LEFT  JOIN 
          GENE_ISSUE        as GI
       ON GI.IDBILAN = GE.IDBILAN 
    ;
    Ensuite, ce petit bout de code, exécuté seul, fonctionne -t- il ?

Discussions similaires

  1. erreur : nom de colonne ambigu
    Par info3licen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/05/2011, 19h23
  2. Supprimer la colonne "Titre" dans les listes
    Par KL dans le forum SharePoint
    Réponses: 6
    Dernier message: 11/06/2009, 17h47
  3. probeleme des nom de colonnes ambigus dans une jointure
    Par devmassi dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 24/09/2008, 10h17
  4. [IBATIS] nom de colonne dynamique dans le mapping
    Par jgfa9 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 02/01/2008, 14h01
  5. colonne affichée dans une liste déroulante
    Par Tierisa dans le forum Access
    Réponses: 4
    Dernier message: 13/10/2005, 16h13

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