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 :

Probleme avec un Select


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Fiona08
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Par défaut Probleme avec un Select
    Salut à tous,

    je fais une secletion sur une table pour dénormaliser les données d’une une table normalisée dans un Select.

    Voici mon code:
    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
    SELECT id_medecin,id_employee,
           max(case when num_visite = 1 then Id_medecins end) AS Id_medecins_1, 
           max(case when num_visite = 1 then Id_employe end) AS Id_employe_1,
           max(case when num_visite = 1 then date_visite end) AS date_visite_1,
     
           max(case when num_visite = 2 then Id_medecins end) AS Id_medecins_2, 
           max(case when num_visite = 2 then Id_employe end) AS Id_employe_2,
           max(case when num_visite = 2 then date_visite end) AS date_visite_2
     
    FROM (SELECT 
    	Id_medecins, Id_employe, date_visite, num_visite 
           FROM (SELECT Id_medecins,
    		    Id_employe,
    		    date_visite,
    		    row_number() over (partition BY id_medecin ORDER BY date_visite DESC) AS num_visite
    	      FROM TABLE
                 )
    WHERE num_visite <= 3
          )
    J'obtient la faute suivante:
    00905. 00000 - "missing keyword"

    Quelqu'un peut-il me dire où se trouve le probleme?

    Meric d'avance
    Fiona

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut,

    Change le nom de ta table TABLE par un autre nom, parce que TABLE est un mot réservé.

    Pour connaitre tous les mots réservés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT *
      FROM v$reserved_words

  3. #3
    Membre confirmé Avatar de Fiona08
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Par défaut
    Salut,
    ma table ne s'appelle pas "TABLE" c'était juste un exemple pout illustrer le probleme que j'ai.

    Merci
    Fiona

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Il manque le group by à la fin de la requête !

    Attention, c'est peut-être une coquille en faisant le copier / coller, mais l'id_medecin est une fois au singulier et une fois au pluriel.

  5. #5
    Membre confirmé Avatar de Fiona08
    Inscrit en
    Juillet 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 108
    Par défaut
    Salut Waldar,

    une petite correction:

    le code est plutôt comme ceci. Quand je fais le group by avec les elements qui sont dans le case, cela ne fonctionne pas:

    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
     
    SELECT max(case when num_visite = 1 then Id_medecins end) AS Id_medecins_1, 
           max(case when num_visite = 1 then Id_employe end) AS Id_employe_1,
           max(case when num_visite = 1 then date_visite end) AS date_visite_1,
     
           max(case when num_visite = 2 then Id_medecins end) AS Id_medecins_2, 
           max(case when num_visite = 2 then Id_employe end) AS Id_employe_2,
           max(case when num_visite = 2 then date_visite end) AS date_visite_2
     
    FROM (SELECT 
    	Id_medecins, Id_employe, date_visite, num_visite 
           FROM (SELECT Id_medecins,
    		    Id_employe,
    		    date_visite,
    		    row_number() over (partition BY id_medecin ORDER BY date_visite DESC) AS num_visite
    	      FROM TABLE
                 )
    WHERE num_visite <= 3
          )

    Fiona

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Compte-tenu qu'il s'agit certainement d'une erreur de syntaxe, si vous ne faites pas un copier / coller, on n'y arrivera pas.

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

Discussions similaires

  1. probleme avec le select
    Par verdi-verda dans le forum Hibernate
    Réponses: 13
    Dernier message: 28/08/2008, 13h38
  2. probleme avec new->select a wizard
    Par thesorrow dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/03/2007, 09h00
  3. [My SQL]probleme avec insert select
    Par jmjmjm dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/01/2007, 11h24
  4. problem avec un select sous IE?
    Par Death83 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/12/2005, 14h36
  5. probleme avec un SELECT
    Par Jean Fi dans le forum Débuter
    Réponses: 5
    Dernier message: 29/11/2005, 21h55

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