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 27 28 29 30 31 32 33 34 35 36 37 38 39
| WITH RemParam (RefParam, RefRem, Evenement, Remuneration)
AS
(
SELECT 258, 35, 'Affichage', 0.3 UNION ALL
SELECT 259, 35, 'Clic' , 0.4
),
Stat (RefStat, Idaff, Affichage, Clic, DtEvent)
AS
(
SELECT 332, 8, 1 , NULL, CAST('17/08/2009' AS SMALLDATETIME) UNION ALL
SELECT 333, 8, NULL, 1 , CAST('17/08/2009' AS SMALLDATETIME) UNION ALL
SELECT 334, 8, 1 , NULL, CAST('17/08/2009' AS SMALLDATETIME) UNION ALL
SELECT 335, 8, 1 , NULL, CAST('18/08/2009' AS SMALLDATETIME) UNION ALL
SELECT 336, 8, NULL, 1 , CAST('18/08/2009' AS SMALLDATETIME)
)
SELECT
ST.DtEvent,
ST.Idaff,
COALESCE(SUM(ST.Affichage), 0) AS NbrAffichage,
COALESCE(SUM(ST.Affichage), 0) * PA.Remuneration AS GainAffichage,
COALESCE(SUM(ST.Clic), 0) AS NbrClic,
COALESCE(SUM(ST.Clic), 0) * PC.Remuneration AS GainClic
FROM
Stat AS ST
INNER JOIN RemParam AS PA
ON PA.Evenement = 'Affichage'
INNER JOIN RemParam AS PC
ON PC.Evenement = 'Clic'
GROUP BY
ST.DtEvent,
ST.Idaff,
PA.Remuneration,
PC.Remuneration
ORDER BY
ST.DtEvent ASC;
DtEvent Idaff NbrAffichage GainAffichage NbrClic GainClic
17/08/2009 8 2 0.6 1 0.4
18/08/2009 8 1 0.3 1 0.4 |
Partager