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
| WITH
t1 AS (SELECT NS_SERVICE_ID, NS_JEUNE_ID
FROM CIOC.PEC
WHERE DT_DEB_MANDAT <= :AI_DT_DEBUT
AND DT_FIN_MANDAT > :AI_DT_FIN
AND SW_COMPTE = 'O'),
t2 AS (SELECT T1.NS_SERVICE_ID, IFNULL(T2.NS_FRATRIE_ID, 0) FRATRIE_ID
FROM CIOC.FRATRIE x2, T1
WHERE x2.NS_JEUNE_ID = T1.NS_JEUNE_ID
AND x2.DT_DEBUT <= CURRENT_DATE
AND (x2.DT_FIN >= CURRENT_DATE OR x2.DT_FIN IS NULL)),
t3 AS (SELECT NS_SERVICE_ID_LNK, NS_SERVICE_ID
FROM MSIS.SERVICE
WHERE NS_SERVICE_ID = :AI_NS_SERVICE_ID
AND DT_DEBUT <= :AI_DT_DEBUT
AND (DT_FIN >= :AI_DT_FIN OR DT_FIN IS NULL)),
t4 AS (SELECT NS_SERVICE_ID, NS_SERVICE_ID_LNK
FROM MSIS.VW_MSIS0012
WHERE DT_DEBUT <= :AI_DT_DEBUT
AND (DT_FIN >= :AI_DT_FIN OR DT_FIN IS NULL))
SELECT t2.NS_SERVICE_ID, T2.FRATRIE_ID, COUNT (*) AS NB_PEC
FROM t2, t3, t4
WHERE T2.NS_SERVICE_ID = T4.NS_SERVICE_ID
AND T3.NS_SERVICE_ID_LNK = T4.NS_SERVICE_ID_LNK
GROUP BY T2.NS_SERVICE_ID, T2.FRATRIE_ID |