Je vais essayer d'exprimer clairement ma demande.
J'ai la table HOPHABS avec, entre autres, une colonne date, matricule, motif.
J'ai également la table PLPPQUA, avec entre autres, une colonne matricule, une colonne codequal.
Je cherche à faire la somme du nombre de ligne par date pour lesquelles j'ai :
-Dans la table HOPHABS les motifs qui se commencent par SPO et qui se terminent par JP ou JN
J'ai compris que je pouvais faire ça par un SUM CASE WHEN.
Seulement je voudrais 2 autres colonnes dans ma requête :
IMP2JOUR et IMP2NUIT :
Pour cela il faut les conditions des motifs citées plus haut et que la matricule dispose bien du CODQUAL IMP2 dans la table PLPPQUA.
J'ai essayé avec ça mais sans résultat :
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT HOPHABS.DAT,HOPHABS.MATRI,HOPHABS.MOTIF ,PLPPQUA.CODEQUAL, Sum( CASE WHEN SUBSTR( MOTIF, 1, 3) = 'SPO'AND SUBSTR( MOTIF, 7, 2) = 'JP' And PLPPQUA.CODEQUAL = 'IMP2' THEN 1 ELSE 0 END ) AS JOURIMP, FROM HOPHABS JOIN PLPPQUA ON HOPHABS.MATRI=PLPPQUA.MATRI WHERE EXTRACT(MONTH FROM DAT) = 6 GROUP BY HOPHABS.DAT ORDER By HOPHABS.DAT;
Partager