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
|
SELECT
COALESCE(sum(rof_qte_finie),0) AS Bonnes,
COALESCE(sum(rof_qte_rejetee),0) AS Rebuts,
COALESCE(sum(rof_duree * sof_cadence),0) AS Attendues,
CASE input_expression
WHEN COALESCE(sum(rof_qte_finie)/sum(rof_duree * sof_cadence),0) = 0 THEN 100
ELSE COALESCE(sum(rof_qte_finie)/sum(rof_duree * sof_cadence),0)
END AS Rendement
FROM rof
INNER JOIN ofs ON rof_of_id = of_id
INNER JOIN sof ON rof_of_id = sof_of_id AND rof_op = sof_op
INNER JOIN dept ON sof_departement = dept_id
INNER JOIN art ON of_article_id = art_id
INNER JOIN usr ON rof_qui = usr_id AND usr_operateur = 1
WHERE rof_date = @jour
AND rof_qte_finie >= 0
AND rof_qte_rejetee >= 0
AND (
(@departement > 0 AND dept_id = @departement)
OR
(COALESCE(@departement,0)<= 0 AND dept_nom LIKE '%' + @filtre_departement + '%')
)
AND (
(@article > 0 AND art_id = @article)
OR
(COALESCE(@article,0)<= 0 AND art_reference LIKE '%' + @filtre_article + '%')
)
AND (
(@operateur > 0 AND usr_id = @operateur)
OR
(COALESCE(@operateur,0)<= 0 AND usr_userid LIKE '%' + @filtre_operateur + '%')
) |
Partager