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 requête imbriquée


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut Erreur requête imbriquée
    Bonjour,
    Je voudrait solliciter votre avis sur une erreur que j'ai concernant l’exécution d'une requête: ORA-00904 T3.NIV identificateur non valide
    le point intriguant est que la même requête s’exécute normalement sur un serveur Windows 2003 et pas sur un serveur Redhat 5, sachant que la version déployée d'Oracle est la même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    select case t3.nation
                when '001' then 
                     (select t2.nation from
                             (select t1.nation,decode(t1.qualite,'G',1, 'D',2, 'R',3, 'P',4, 'O',5, 'S',6, 'N',7) qual
                                     from t1 
                                              where t1.c_acte=t3.c_acte 
                                              and t1.niv=t3.niv 
                                              and t1.qualite in ('G', 'D', 'R', 'P', 'O', 'S', 'N') order by qual) 
                       t2 where rownum<2 )
                else t3.nation end 
    from t3

  2. #2
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Par défaut
    La message dit que la colonne niv n'existe pas dans la table ou vu t3; Pouvez-vous vérifier ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    Il existe bien évidement, les deux bases sont des copies identiques, l'une est une base de développement sur laquelle la requête a été écrite, et la deuxième c'est la base de production sur laquelle la requête ne s’exécute pas, et je n'arrive pas a comprendre pour quelle raison, on croirai qu'il ne s'agit pas du même interpréteur.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    Ok merci, je vais plutôt le faire en PLSQL c'est plus simple.

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    En pl/sql c'est une mauvaise idée, il faut écrire la requête autrement, par exemple je propose ça mais qui n'est peut être pas tout à fait bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select case when t3.nation = '001' then t2.nation else t3.nation end
      from t3
      join (SELECT t1.nation,decode(t1.qualite,'G',1, 'D',2, 'R',3, 'P',4, 'O',5, 'S',6, 'N',7) qual,
                   row_number() over (partition by t1.c_acte, t1.niv order by decode(t1.qualite,'G',1, 'D',2, 'R',3, 'P',4, 'O',5, 'S',6, 'N',7)) as rn
              from t1
             where t1.qualite IN ('G', 'D', 'R', 'P', 'O', 'S', 'N')
    		) t2
    	on t2.c_acte=t3.c_acte AND t2.niv=t3.niv
     where t2.rn = 1

  7. #7
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par Boukha Voir le message
    Ok merci, je vais plutôt le faire en PLSQL c'est plus simple.
    FBI (Fausse Bonne Idée)

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/04/2011, 20h47
  2. [MySQL 4.0.15] Erreur requête imbriquée
    Par X-K4l1 dans le forum Requêtes
    Réponses: 6
    Dernier message: 28/07/2006, 15h45
  3. [MySQL] Erreur SQL 1064 : Requête imbriquée avec jointure !
    Par patchankito dans le forum Langage SQL
    Réponses: 5
    Dernier message: 31/01/2006, 10h37
  4. Pb requête imbriquée
    Par ddams dans le forum Requêtes
    Réponses: 11
    Dernier message: 20/04/2004, 12h13
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

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