Bonjour,
j'aurais encore besoin d'un petit coup de pouce pour regrouper 3 requêtes, les voici :j'ai essayé ceci :
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 SELECT COUNT(DISTINCT ENTETE) AS arriv_sda FROM ERREUR INNER JOIN FIC ON ERREUR.COD = FIC.COD WHERE ENTETE <> '' AND DAT > '2010-04-01 00:00:00' AND DAT < '2010-04-30 00:00:00' AND ERREUR.COD = 'EBK'; SELECT COUNT(DISTINCT ENTETE) AS inst_sda FROM ERREUR INNER JOIN FIC ON ERREUR.COD = FIC.COD WHERE ENTETE <> '' AND DAT > '2010-04-01 00:00:00' AND DAT < '2010-04-30 00:00:00' AND ERREUR.COD = 'EBK' AND ERREUR.DAT_RES IS NULL; SELECT COUNT(DISTINCT ENTETE) AS trt_sda FROM ERREUR INNER JOIN FIC ON ERREUR.COD = FIC.COD WHERE ENTETE <> '' AND DAT > '2010-04-01 00:00:00' AND DAT < '2010-04-30 00:00:00' AND ERREUR.COD = 'EBK' AND ERREUR.DAT_TRT IS NOT NULL AND ERREUR.DAT_RES IS NULL;mais évidemment ça ne me donne pas les bons résultats car mes 3 requêtes font un COUNT(DISTINCT ...) d'un champ en particulier.
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 SELECT COUNT( * ) AS ARRIV_SDA, COUNT(CASE WHEN ERREUR.DAT_RES IS NULL THEN 1 END) AS INST_SDA, COUNT(CASE WHEN ERREUR.DAT_TRT IS NOT NULL AND ERREUR.DAT_RES IS NULL THEN 1 END) AS TRT_SDA FROM ERREUR INNER JOIN FIC ON ERREUR.COD = FIC.COD WHERE ENTETE <> '' AND DAT > '2010-04-01 00:00:00' AND DAT < '2010-04-30 00:00:00' AND COD = 'EBK';
quelqu'un a une idée ? Merci !
Partager