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

Langage SQL Discussion :

Problème pour la construction d'un requête


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 22
    Points
    22
    Par défaut Problème pour la construction d'un requête
    Bonjour, je suis sous Oracle 9i, et j'ai un petit soucis pour construire ma requête.
    Voilà, c'est tout simple : j'ai deux tables A et B avec une clef commune key1. Dans la table A, key1 est la clef primaire unique (ex : la déclaration d'un fichier où key1 serait le num du fichier), et dans la table B, key1 forme avec key2 la clef primaire (ex : les informations sur chaque ligne du fichier où key2 serait la ligne du fichier). j'ai dans la table B une colonne contenant des dates.
    Le but est donc de ramener les informations sur plusieurs fichiers (donc on récupère tout simplement les colonnnes de la table A) mais aussi la plus petit date de la table B (pour chaque fichier).
    Ma requête serait la suivante mais ça ne marche pas et je ne vois pas comment faire d'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    DECLA_FIC
    -------------
    NUMFIC   PK
    INFO
     
    ENRGT
    --------
    NUMFIC   PK
    NUM_LIG PK
    DATDIF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT NUMFIC,
                TYPFIC,
    	   (SELECT count(*) FROM ENRGT E WHERE F.NUMFIC = E.NUMFIC)  NBRECORD,
    	   (SELECT DATDIF
                FROM (SELECT DATDIF FROM ENRGT E WHERE F.NUMFIC = E.NUMFIC ORDER BY DATDIF)
                WHERE ROWNUM = 1)
    FROM DECLA_FIC F
    Et donc ça plante sur la 4e ligne de la requête. Il me dit "identificateur non valide" pour F.NUMFIC.

    merci d'avance.

  2. #2
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Tu peux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select 
       numfic, 
       typfic, 
       (select count(*) from ENRGT e where f.numfic = e.numfic) nbrecord, 
       (select min(datdif) from ENRGT e where f.numfic = e.numfic)
    from 
       DECLA_FIC f
    Je crois que ta requête plante car il y a deux niveaux de "profondeurs".


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    merci Laly il fallait tout simplement utiliser la fonction MIN

    Mais sinon, pour ma culture SQL, je reviens sur ce que tu me dis : lorsqu'on imbrique 2 niveaux de profondeurs, cela pose un problème pour les alias sur les tables ? tu sais si ce problème peut être contourné ?

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    1°) merci de cliquer sur l'icone résolu si c'est le cas

    2°) merci de poster dans le forum ad hoc la prochaine fois

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    arf oui, désolé. Tu penses au forum oracle ?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/04/2015, 13h27
  2. [AC-2010] Aide pour la construction d'une requête ?
    Par [ZiP] dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 07/03/2014, 00h15
  3. Problème pour la Construction d'un UserForm
    Par CodeFacile dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/11/2012, 17h25
  4. Réponses: 7
    Dernier message: 10/09/2005, 16h49
  5. [Requête SQL] Problème pour echantilloner
    Par jool dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/08/2005, 09h08

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