Bjr.
J'ai deux tables (HSQLDB) dans lesquelles sont saisies les représentants et leur chiffre d'affaires mensuel :
Après tâtonnements, j'ai créé cette requête qui permet d'afficher les données sous forme tabulaire :
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 CREATE TABLE T_REPRESENTANTS ( REP_ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL, REP_NOM VARCHAR(32) NOT NULL, REP_PRENOM VARCHAR(32) NOT NULL, CONSTRAINT PK_REP_ID PRIMARY KEY (REP_ID) ); CREATE TABLE T_VENTES ( VEN_ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL, REP_ID INTEGER NOT NULL, VEN_DATE DATE NOT NULL, -- Date du dernier jour du mois VEN_MNT DECIMAL(10,2) DEFAULT 0 NOT NULL, CONSTRAINT PK_VEN_ID PRIMARY KEY (VEN_ID), CONSTRAINT FK_VEN_REP FOREIGN KEY (REP_ID) REFERENCES T_REPRESENTANTS (REP_ID), CONSTRAINT UC_REP_DATE UNIQUE (REP_ID, VEN_DATE) );
Je voudrais intégrer dans cette requête un filtre de paramètre pour l'année et je ne parviens pas à le faire.
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 SELECT REP_NOM || ' ' || REP_PRENOM AS REPRESENTANT, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 1) AS JAN, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 2) AS FEV, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 3) AS MAR, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 4) AS AVR, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 5) AS MAI, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 6) AS JUI, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 7) AS JUL, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 8) AS AOU, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 9) AS SEP, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 10) AS OCT, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 11) AS NOV, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID AND MONTH(T_VENTES.VEN_DATE) = 12) AS DEC, (SELECT SUM(T_VENTES.VEN_MNT) FROM T_VENTES WHERE T_VENTES.REP_ID = T_REPRESENTANTS.REP_ID) AS TOTAL FROM T_REPRESENTANTS ORDER BY T_REPRESENTANTS.REP_NOM ASC
Vous en remerciant...
Partager