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 :

ORA-00933 SQL COMMAND NOT PROPRELLY ENDED (a l'aide :-( )


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 145
    Points : 64
    Points
    64
    Par défaut ORA-00933 SQL COMMAND NOT PROPRELLY ENDED (a l'aide :-( )
    Bonjour,

    Je de travail sur TOAD, et PL/SQL developer, et les deux me donnent la meme erreur sur l'execution du bout de code que voici, et qui est ""ORA-00933 SAL COMMAND NOT PROPRELLY ENDED"" (a l'aide :-( ) :

    CREATE OR REPLACE VIEW V_FOR_8311_DEPART AS
    SELECT DISTINCT
    XX.*
    , SUM(DATA1.TOTAL)
    , SUM(DATA1.FEMMES)
    , DATA2.HOMMES + DATA2.FEMMES
    , DATA2.FEMMES
    , SUM(DATA2.TOTAL)
    , SUM(DATA2.FEMMES)

    FROM

    (SELECT DISTINCT
    M.MOIS, M.ANNEE, S.STRUCTURE, F.AFFICHAGE CSP, F.ORD
    FROM FOR_ALL_MONTHS M, STRUCTURE S, CSP C, FOR_DISPLAY F
    WHERE S.STRUCTURE NOT IN ('AMT')
    AND C.CSP = F.INTITULE
    AND F.DOCUMENT = 'FOR_8311_Depart'
    AND F.ELEMENT = 'Tableau1') XX
    ,

    (select to_char(A.date_,'MM') mois, to_char(A.date_,'YYYY') annee, A.structure, A.csp,
    A.hommes, A.femmes,(A.hommes + A.femmes) total
    from DEPART A) DATA1

    ,
    (select to_char(B.date_,'MM') mois, to_char(B.date_,'YYYY') annee, B.structure, B.csp,
    B.hommes, B.femmes, (B.hommes + B.femmes) total
    from DEPART B) DATA2

    GROUP BY XX.ANNEE

    WHERE XX.MOIS = DATA1.MOIS (+)
    AND XX.MOIS = DATA2.MOIS (+)
    AND XX.ANNEE-1 = DATA1.ANNEE (+)
    AND XX.ANNEE = DATA2.ANNEE (+)
    AND XX.STRUCTURE = DATA1.STRUCTURE (+)
    AND XX.STRUCTURE = DATA2.STRUCTURE (+)
    AND XX.CSP = DATA1.CSP (+)
    AND XX.CSP = DATA2.CSP (+);



    En fait, ce qui cloche c'est tjr la dernière ligne, visiblement, elle se termine pas comme il le frauderai, j'ai déjà commencer par déplacer la GROUP BY vers le haut, j'ai essayer les virgules, et les points virgules, et mnt j'attends, que quelqu'un m'ouvre les yeux sur mes conneries,

    Merci infiniment pour votre aide

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Essai en mettant l'instruction 'GROUP BY XX.ANNEE' après l'instruction WHERE

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 145
    Points : 64
    Points
    64
    Par défaut ORA-00933 SQL COMMAND NOT PROPRELLY ENDED (a l'aide :-( )
    Merci pour le tuyiau, mais ca n'a pas marche, une autre idee peut etre ???

  4. #4
    Membre habitué Avatar de Loyd1974
    Profil pro
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 196
    Points
    196
    Par défaut
    Alors 1ère chose : il faut cliquer sur le bouton #

    Ensuite, tu fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT XX.*
    ....
    GROUP BY XX.ANNEE
    Donc, cela ne peut pas marcher, il faut virer le XX.* et le remplacer par XX.ANNEE. En même temps, tu peux te débarrasser du distinct qui sera doublon avec le group by.
    Tu dois aussi ajouter dans ton Group by les colonnes Data2.hommes et Data2.femmes

    Au final, cela te donne :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    CREATE OR REPLACE VIEW V_FOR_8311_DEPART AS
    SELECT DISTINCT Xx.annee,
                    SUM(Data1.Total),
                    SUM(Data1.Femmes),
                    Data2.Hommes + Data2.Femmes,
                    Data2.Femmes,
                    SUM(Data2.Total),
                    SUM(Data2.Femmes)
    FROM   (SELECT DISTINCT m.Mois,
                            m.Annee,
                            s.Structure,
                            f.Affichage Csp,
                            f.Ord
            FROM   For_All_Months m,
                   Structure      s,
                   Csp            c,
                   For_Display    f
            WHERE  s.Structure NOT IN ('AMT')
            AND    c.Csp = f.Intitule
            AND    f.Document = 'FOR_8311_Depart'
            AND    f.Element = 'Tableau1') Xx,
           (SELECT To_Char(a.Date_, 'MM') Mois,
                   To_Char(a.Date_, 'YYYY') Annee,
                   a.Structure,
                   a.Csp,
                   a.Hommes,
                   a.Femmes,
                   (a.Hommes + a.Femmes) Total
            FROM   Depart a) Data1,
           (SELECT To_Char(b.Date_, 'MM') Mois,
                   To_Char(b.Date_, 'YYYY') Annee,
                   b.Structure,
                   b.Csp,
                   b.Hommes,
                   b.Femmes,
                   (b.Hommes + b.Femmes) Total
            FROM   Depart b) Data2
    WHERE  Xx.Mois = Data1.Mois(+)
    AND    Xx.Mois = Data2.Mois(+)
    AND    Xx.Annee - 1 = Data1.Annee(+)
    AND    Xx.Annee = Data2.Annee(+)
    AND    Xx.Structure = Data1.Structure(+)
    AND    Xx.Structure = Data2.Structure(+)
    AND    Xx.Csp = Data1.Csp(+)
    AND    Xx.Csp = Data2.Csp(+)
    GROUP  BY Xx.Annee, Data2.Hommes ,
                    Data2.Femmes

  5. #5
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 145
    Points : 64
    Points
    64
    Par défaut ORA-00933 SQL COMMAND NOT PROPRELLY ENDED (a l'aide :-( )
    Alors 1ere bonne nouvelle, la vue se cree, mais elle ne rend pas les donnees escompté, voila la nouvelle version:

    SELECT DISTINCT Xx.annee,
    SUM(Data1.Total) tot,
    SUM(Data1.Femmes) to2,
    (Data2.Hommes + Data2.Femmes) tot3,
    Data2.Femmes,
    SUM(Data2.Total) tot4,
    SUM(Data2.Femmes) tot5
    FROM (SELECT DISTINCT m.Mois,
    m.Annee,
    s.Structure,
    f.Affichage Csp,
    f.Ord
    FROM For_All_Months m,
    Structure s,
    Csp c,
    For_Display f
    WHERE s.Structure NOT IN ('AMT')
    AND c.Csp = f.Intitule
    AND f.Document = 'FOR_8311_Depart'
    AND f.Element = 'Tableau1') Xx,
    (SELECT To_Char(a.Date_, 'MM') Mois,
    To_Char(a.Date_, 'YYYY') Annee,
    a.Structure,
    a.Csp,
    a.Hommes,
    a.Femmes,
    (a.Hommes + a.Femmes) Total
    FROM Depart a) Data1,
    (SELECT To_Char(b.Date_, 'MM') Mois,
    To_Char(b.Date_, 'YYYY') Annee,
    b.Structure,
    b.Csp,
    b.Hommes,
    b.Femmes,
    (b.Hommes + b.Femmes) Total
    FROM Depart b) Data2
    WHERE Xx.Mois = Data1.Mois(+)
    AND Xx.Mois = Data2.Mois(+)
    AND Xx.Annee-1 = Data1.Annee(+)
    AND Xx.Annee = Data2.Annee(+)
    AND Xx.Structure = Data1.Structure(+)
    AND Xx.Structure = Data2.Structure(+)
    AND Xx.Csp = Data1.Csp(+)
    AND Xx.Csp = Data2.Csp(+)
    GROUP BY Xx.Annee, Data2.Hommes ,
    Data2.Femmes

    quelqu'un peut il me dire s'il ya quelque chose qui cloche,

  6. #6
    Membre habitué Avatar de Loyd1974
    Profil pro
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 196
    Points
    196
    Par défaut
    Encore une fois :

    Attention, à la 3ème, on lache les chiens

    Ensuite, si tu n'expliques pas ce que tu veux obtenir, il faudra poster ce sujet dans la rubrique Voyance et Médium


    Mets nous un exemple de donnée de départ et ce que tu veux en obtenir à la fin

Discussions similaires

  1. ORA-00933: SQL command not properly ended
    Par yupa dans le forum Oracle
    Réponses: 3
    Dernier message: 29/03/2022, 15h12
  2. ORA-00933 : SQL COMMAND NOT PROPERLY ENDED
    Par karnass dans le forum SQL
    Réponses: 2
    Dernier message: 20/12/2012, 14h40
  3. [AC-2007] ORA-00933: SQL command not properly ended (#933)
    Par zoom61 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/12/2010, 09h38
  4. SQL command not properly ended / Execute immediate
    Par grenouille92 dans le forum SQL
    Réponses: 1
    Dernier message: 01/10/2009, 11h13
  5. Réponses: 1
    Dernier message: 08/02/2008, 17h32

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