Problème sur requête

SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 - 20 juil. 2006 à 22:27
SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 - 25 juil. 2006 à 23:24
j'ai trois tables :

DONNEES
ACTES

MONTANT
DATE

GROUPE ACTES
ACTES
TYPE

TRIMESTRES

DATE_DEBUT
DATE_FIN
TRIMESTRE

Je désire obtenir le résultat suivant :
 TRIMESTRE,TYPE,NOMBRE D'ACTES,MONTANT

MA REQUËTE INCOMPLETE :
"SELECT TRIMESTRE$.TRIMESTRE_,TRIMESTRE$.ANNEE,GROUPES_ACTES$.TYPE, COUNT(DONNEES$.ACTES)AS [NOMBRE D'ACTES], ROUND(SUM(DONNEES$.[Montant Payé]),2)as SOMME FROM [GROUPES_ACTES$], " + _
         "[DONNEES$],[TRIMESTRE$]" + _
         " WHERE DONNEES$.ACTES=GROUPES_ACTES$.CODE" + _
         " AND DONNEES$.[DATE DES SOINS] BETWEEN TRIMESTRE$.DATE_DEBUT AND TRIMESTRE$.DATE_FIN" + _
         " GROUP BY TRIMESTRE$.TRIMESTRE_,TRIMESTRE$.ANNEE, GROUPES_ACTES$.TYPE" + _
         " ORDER BY GROUPES_ACTES$.TYPE,TRIMESTRE$.ANNEE,TRIMESTRE$.TRIMESTRE_"

Mon souci est que cette requete ne me renvoie que les données ayant une correspondance d'acte pour les trimestres dont les montant et le nombre sont diff de zéro
or moi je désire obtenir un résultat du type :

deuxieme trimestre 2006  AAA 12 125,00
premier trimestre 2006 AAA 0 0,00

J'epère avoir été assez clair

merci à tous

10 réponses

Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
21 juil. 2006 à 07:42
Salut, tu es très clair, mais pas ta requete ^^

Le truc a faire c'est une jointure externe :

SELECT Trimestre, Type, COUNT(Groupe_actes.Actes), SUM(Montant)
FROM
(Trimestres LEFT OUTER JOIN Donnees
ON Donnees.Date IS BETWEEN Date_debut AND Date_fin )
LEFT OUTER JOIN Groupe_actes
ON Groupe_actes.Actes = Donnees.Actes

GROUP BY Trimestre, Type
ORDER BY Type

J'ai pas mis l'année, vu que tu en parles pas dans ta demande, et que tu ne la montres pas dans tes tables...

Mindiell Software
0
SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 1
21 juil. 2006 à 16:42
j'ai testé mais
Cette requête ne me donne pas ce que je veux

Cette requete ne me donne pas tous les TYPES ni TOUS LES TRIMESTRES

j'obtiens un truc du genre

deuxieme trimestre 2006  AAA 12 125,00
premier trimestre 2006 0 0 0,00
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
21 juil. 2006 à 19:24
peux tu nous données quelques lignes de tes tables et le résultat que tu en voudrais ?

Mindiell Software
0
SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 1
21 juil. 2006 à 23:39
je suis en train de m'arracher les cheveux!!!
la réponse doit etre sous mes yeux pourtant !!!

DONNEES   ACTES   MONTANT   DATE
                              ZZZ      25,00                 12/03/2006
                              ZZZ      26,00                  13/03/2006
                              SSS      123,00                10/10/2006 
                              DDD     80,00                  01/01/2006

GROUPE ACTES      ACTES      TYPE
                                    ZZZ            GROUPE 1
                                    AAA          GROUPE 1 
                                    DDD           GROUPE 2
                                    SSS             GROUPE 3
                                    VVV            GROUPE 4

TRIMESTRES   
DATE_DEBUT   DATE_FIN      TRIMESTRE                                 ANNEE
                                    01/01/2006            31/03/2006        PREMIER TRIMESTRE             2006
                                    01/04/2006            30/06/2006         DEUXIEME TRIMESTRE         2006
                                    01/07/2006            30/09/2006         TROISIEME TRIMESTRE        2006
                                    01/10/2006            31/12/2006         QUATRIEME TRIMESTRE     2006

Le résultat attendu :
TRIMESTRE                                       TYPE               NOMBRE D'ACTES         MONTANT TOTAL
PREMIER TRIMESTRE 2006           GROUPE 1        2                                            51,00
DEUXIEME TRIMESTRE  2006       GROUPE 1        0                                           0,00
TROISIEME TRIMESTRE  2006      GROUPE 1        0                                            0,00
QUATRIEME TRIMESTRE 2006     GROUPE 1        0                                            0,00
PREMIER TRIMESTRE 2006           GROUPE 2         1                                           80,00
DEUXIEME TRIMESTRE  2006       GROUPE 2        0                                           0,00
TROISIEME TRIMESTRE  2006      GROUPE 2        0                                            0,00
QUATRIEME TRIMESTRE 2006     GROUPE 2        0                                            0,00
PREMIER TRIMESTRE 2006           GROUPE 3         0                                          0,00
DEUXIEME TRIMESTRE  2006       GROUPE 3        0                                           0,00
TROISIEME TRIMESTRE  2006      GROUPE 3        0                                            0,00
QUATRIEME TRIMESTRE 2006     GROUPE 3      1                                            123,00
PREMIER TRIMESTRE 2006           GROUPE 4        0                                            0,00
DEUXIEME TRIMESTRE  2006       GROUPE 4        0                                           0,00
TROISIEME TRIMESTRE  2006      GROUPE 4        0                                            0,00
QUATRIEME TRIMESTRE 2006     GROUPE 4      0                                            0,00

Voila j'espère qu'une fois posté tous ne sera pas décalé
Merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 1
21 juil. 2006 à 23:39
aie, aie, j'epère que ca ira pour la lecture
0
SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 1
21 juil. 2006 à 23:40
au fait si tu avis la fonction COALESCE pour access je suis preneur
0
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
24 juil. 2006 à 23:44
Salut, Essai avec cette requette :

SELECT
   TRIMESTRES_ET_TYPE.TRIMESTRE_,
   TRIMESTRES_ET_TYPE.ANNEE,
   TRIMESTRES_ET_TYPE.TYPE,
   COUNT(DONNEES$.ACTES)AS [NOMBRE D'ACTES],
   ROUND(SUM(DONNEES$.[Montant Payé]),2)as SOMME
FROM
   (SELECT
      TRIMESTRE$.TRIMESTRE_,
      GROUPES_ACTES$.TYPE,
      TRIMESTRE$.DATE_DEBUT,
      TRIMESTRE$.ANNEE,
      TRIMESTRE$.DATE_FIN
   FROM
      TRIMESTRE$
         CROSS JOIN
      GROUPES_ACTES$) AS TRIMESTRES_ET_TYPE
      LEFT OUTER JOIN
   DONNEES$
      ON
         DONNEES$.ACTES=TRIMESTRES_ET_TYPE.CODE
            AND 
         DONNEES$.[DATE DES SOINS] 
            BETWEEN TRIMESTRES_ET_TYPE.DATE_DEBUT 
            AND TRIMESTRES_ET_TYPE.DATE_FIN
GROUP BY
   TRIMESTRES_ET_TYPE.TRIMESTRE,
   TRIMESTRES_ET_TYPE.TYPE
ORDER BY
   TRIMESTRES_ET_TYPE.TRIMESTRE,
   TRIMESTRES_ET_TYPE.TYPE
0
SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 1
25 juil. 2006 à 19:39
marche pas


cross join semble ne pas etre supporté par access
0
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
25 juil. 2006 à 22:12
Essai de remplacer CROSS JOIN par une simple virgule c'est pareil mais je suis plus habituer a SQL server ou les deux syntax sont possible
0
SR2 Messages postés 46 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 25 juillet 2006 1
25 juil. 2006 à 23:24
J'avais déja essayé mais j'ai message d'erreur du genre jointure impossible
0
Rejoignez-nous