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

Oracle Discussion :

la fonction de groupe ne porte pas sur un groupe simple??


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut la fonction de groupe ne porte pas sur un groupe simple??
    Bonjour,
    J'essaie d'obtenir le lundi de la semaine de la première commande enregistrée dans ma table "commande".

    Ma requête va ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT MIN(heuredateCommande)+2-
                  (SELECT UNIQUE TO_NUMBER(TO_CHAR(heureDateCommande, 'D')) 
        		   FROM	Commande
    	      	 WHERE heureDateCommande = 
    		           (SELECT MIN(heuredateCommande) 
    		            FROM Commande))
    FROM Commande

    La partie interne me ramène bien le jour de la semaine de la 1ere commande ( 3 pour mardi ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    (SELECT UNIQUE TO_NUMBER(TO_CHAR(heureDateCommande, 'D')) 
        		   FROM	Commande
    	      	 WHERE heureDateCommande = 
    		           (SELECT MIN(heuredateCommande) 
    		            FROM Commande))
    Je veux obtenir la date du lundi de cette semaine là, je tente donc de faire (date_minimum +2 - <no_jour>) , où le no_jour est le résultat de cette sous-requête.


    Oracle me donne cette erreur :

    ERREUR à la ligne 2 :
    ORA-00937: la fonction de groupe ne porte pas sur un groupe simple

    Pourtant, la sous requête s'exécute sans problème toute seule. Si je change ma sous requête pour la valeur qu'elle renvoie (3) , tout marche.

    Donc, les 2 requêtes fonctionnent séparément, mais une fois l'une imbiquée dans l'autre, j'ai ce problème.

    Merci de votre aide.

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Si tu veux seulement obtenir le lundi de la première commande à mon avis tu te compliques la vie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SQL> select heuredateCommande from commande;
    HEUREDATE
    ---------
    11-APR-06
    14-APR-06
    18-APR-06
    26-APR-06
     
    SQL> select to_char (trunc (min (heuredateCommande), 'IW'), 'DAY DD-MM-RRRR') from commande;
    TO_CHAR(TRUNC(MIN(HE
    --------------------
    MONDAY    10-04-2006
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Merci! :-)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2010, 13h23
  2. Réponses: 2
    Dernier message: 08/09/2008, 10h50
  3. Réponses: 5
    Dernier message: 23/06/2008, 16h13
  4. fonction confirm() qui ne fonctionne pas sur IE7
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/06/2008, 09h47
  5. Réponses: 10
    Dernier message: 26/12/2007, 23h20

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