ORA-00933 SQL COMMAND NOT PROPRELLY ENDED (a [Fermé]

Signaler
-
 Francois -
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 réponses

Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
49
Bonjour,

Essaye ceci :

....

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; 
les clauses where doivent etre toujours avant les clauses group by ( PS : Erreur de 1er année info)
Pas de blanc entre xx, et(select tout comme data et ,