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 :

Liste sur une table avec nombre d’occurrences sur un champs


Sujet :

SQL Oracle

  1. #1
    Invité
    Invité(e)
    Par défaut Liste sur une table avec nombre d’occurrences sur un champs
    Bonjour,
    Je travaille sur Oracle Database 11g
    J’aimerai obtenir une liste des enregistrements dans une table tout en comptant le nombre d’occurrence dans un champ.
    J’aimerai obtenir le rapport suivant :
    CODEBARREEX | IDNOTICE | NOMBREEX
    0160160162 | 000000004| 2
    0161169959 | 000000004| 2
    0161156546 | 000000014| 3
    0161155006 | 000000014| 3
    0161155068 | 000000014| 3
    0161154993 | 000000016| 1

    J’ai essayé de compter le nombre d’occurrences dans une sous requête.

    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
    SELECT
      EX.Z30_barcode AS "CODEBARREEX",
      substr(Ex.z30_rec_key,1,9) AS "IDNOTICE",
      TOT.NOMBRE AS "NOMBREEX"
    FROM z30 EX
    INNER JOIN
    ( SELECT substr(EX.z30_rec_key,1,9) AS "IDNOTICE",
    	count(substr(EX.z30_rec_key,1,9)) AS "NOMBREEX"
         FROM z30 EX
         WHERE  EX.Z30_SUB_LIBRARY = 'MAG'
                    AND EX.Z30_MATERIAL = 'LIVRE'
    				AND substr(EX.z30_rec_key,1,9) is not null
         GROUP BY (substr(EX.z30_rec_key,1,9))
    ) AS TOT 
    ON EX.IDNOTICE = TOT.IDNOTICE
    WHERE  EX.Z30_SUB_LIBRARY = 'MAG'
    AND EX.Z30_MATERIAL = 'LIVRE'
    Cette requête me renvoie l’erreur suivante : « ORA-00905: missing keyword »

    Ai –je fait une erreur dans ma requête où est-ce la méthode utilisée qui n’est pas bonne ?
    D’avance merci pour vos réponses

  2. #2
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Bonjour,

    Réessayez en enlevant le AS de la ligne 14

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour merci de vous intéresser à mon problème.
    Malheureusement, en retirant le AS Oracle ne reconnait plus les alias de table et me renvoie l'erreur suivante :
    ERROR at line 15:
    ORA-00904: "EX"."IDNOTICE": invalid identifier

  4. #4
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    Une requête analytique (de fenêtrage) vous permet d’obtenir le détail et l’agrégation d’un seul coup et est par conséquence plus performante.

  5. #5
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par louxfaure Voir le message
    Bonjour merci de vous intéresser à mon problème.
    Malheureusement, en retirant le AS Oracle ne reconnait plus les alias de table et me renvoie l'erreur suivante :
    ERROR at line 15:
    ORA-00904: "EX"."IDNOTICE": invalid identifier
    Supprimez que le mot As et garder TOT.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Une requête analytique (de fenêtrage) vous permet d’obtenir le détail et l’agrégation d’un seul coup et est par conséquence plus performante.
    Merci de m'avoir mis sur cette piste grâce à vous et à cet article j'ai résolu mon problème...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/10/2014, 11h19
  2. Réponses: 2
    Dernier message: 20/10/2014, 10h15
  3. Requête sur 2 tables avec ligne unique sur 2° table ?
    Par gaucthier dans le forum Requêtes
    Réponses: 0
    Dernier message: 17/02/2010, 11h18
  4. MySQL - Probleme avec 2 index sur une table
    Par xG-Hannibal dans le forum Outils
    Réponses: 7
    Dernier message: 31/03/2006, 14h08
  5. Requete MySQL avec un Rand sur une table
    Par tom06440 dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/01/2006, 17h37

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