SELECT CASE WHEN `p`.`sistema` IS NULL THEN 'AAMS' ELSE `p`.`sistema` END AS `sistema`,`p`.`descrizione` AS `stato`,`p`.`Messaggio` AS `messaggio`,`p`.`numero_msg` AS `numero_msg`
FROM (
SELECT `sg`.`DESCRIZIONE` AS `sistema`, COUNT(DISTINCT `mo`.`ID_MSG_APP`) AS `numero_msg`,`sout`.`DESCRIZIONE` AS `descrizione`,`sout`.`CODICE` AS `codice`,`tm`.`CODICE` AS `Messaggio`
FROM (((((`c6msg`.`vl_messaggio_in_oggi` `mi`
JOIN `c6msg`.`vl_messaggio_out_oggi` `mo` ON(`mi`.`ID_MSG_APP` = `mo`.`ID_MSG_APP` AND `mi`.`PROG_TIPO_MSG_ID` = `mo`.`PROG_TIPO_MSG_ID`))
JOIN `c6msg`.`vl_tipo_msg` `tm` ON(`mi`.`PROG_TIPO_MSG_ID` = `tm`.`PROG_TIPO_MSG_ID`))
JOIN `c6msg`.`vl_stato_elaborazione` `se` ON(`mi`.`PROG_STATO_ELABORAZIONE_ID` = `se`.`PROG_STATO_ELABORAZIONE_ID`))
JOIN `c6msg`.`vl_stato_elaborazione` `sout` ON(`mo`.`PROG_STATO_ELABORAZIONE_ID` = `sout`.`PROG_STATO_ELABORAZIONE_ID`))
LEFT JOIN `c6msg`.`vl_sistema_gioco` `sg` ON(`mi`.`PROG_SIST_GIOCO_DEST_ID` = `sg`.`PROG_SISTEMA_GIOCO_ID`))
WHERE `mo`.`DATA_TRASMISSIONE` >= `mi`.`DATA_RICEZIONE` AND `se`.`CODICE` = 6 AND `sout`.`CODICE` IN (8,11,15) AND `tm`.`CODICE` NOT IN ('500','501') AND `tm`.`CODICE` NOT LIKE '000%' AND ! EXISTS(
SELECT 1
FROM `c6msg`.`vl_messaggio_out_oggi` `mo2`
WHERE `mo2`.`DATA_TRASMISSIONE` >= DATE_FORMAT(CURRENT_TIMESTAMP(),'%Y-%m-%d') AND `mo2`.`ID_MSG_APP` = `mo`.`ID_MSG_APP` AND `mo2`.`PROG_TIPO_MSG_ID` = `mo`.`PROG_TIPO_MSG_ID` AND `mo2`.`DATA_TRASMISSIONE` > `mo`.`DATA_TRASMISSIONE` AND `mo2`.`PROG_STATO_ELABORAZIONE_ID` IN (10,12,13))
GROUP BY `sg`.`DESCRIZIONE`,`sg`.`PROG_SISTEMA_GIOCO_ID`,`sout`.`DESCRIZIONE`,`sout`.`CODICE`,`sg`.`CODICE_CONC`,`tm`.`CODICE` UNION ALL
SELECT `sg`.`DESCRIZIONE` AS `sistema`, COUNT(DISTINCT `mo`.`ID_MSG_APP`) AS `numero_msg`,'SLA_INVIATO_SENZA_RISPOSTA' AS `descrizione`,`sout`.`CODICE` AS `codice`,`tm`.`CODICE` AS `Messaggio`
FROM (((((`c6msg`.`vl_messaggio_in_oggi` `mi`
JOIN `c6msg`.`vl_messaggio_out_oggi` `mo` ON(`mi`.`ID_MSG_APP` = `mo`.`ID_MSG_APP` AND `mi`.`PROG_TIPO_MSG_ID` = `mo`.`PROG_TIPO_MSG_ID`))
JOIN `c6msg`.`vl_tipo_msg` `tm` ON(`mi`.`PROG_TIPO_MSG_ID` = `tm`.`PROG_TIPO_MSG_ID`))
JOIN `c6msg`.`vl_sistema_gioco` `sg` ON(`mi`.`PROG_SIST_GIOCO_DEST_ID` = `sg`.`PROG_SISTEMA_GIOCO_ID`))
JOIN `c6msg`.`vl_stato_elaborazione` `se` ON(`mi`.`PROG_STATO_ELABORAZIONE_ID` = `se`.`PROG_STATO_ELABORAZIONE_ID`))
JOIN `c6msg`.`vl_stato_elaborazione` `sout` ON(`mo`.`PROG_STATO_ELABORAZIONE_ID` = `sout`.`PROG_STATO_ELABORAZIONE_ID`))
WHERE `mo`.`DATA_TRASMISSIONE` >= `mi`.`DATA_RICEZIONE` AND `mo`.`COD_MITT` = '0' AND `se`.`CODICE` = 6 AND ROUND(24 * (CURRENT_TIMESTAMP() - `mi`.`DATA_RICEZIONE`),0) >= 3 AND `sout`.`CODICE` = 10 AND `tm`.`CODICE` IN (210,101) AND `mi`.`COD_MITT` = '0' AND ! EXISTS(
SELECT 1
FROM `c6msg`.`vl_messaggio_in_oggi` `mi2`
WHERE `mi2`.`ID_MSG_APP` = `mo`.`ID_MSG_APP` AND (`mi2`.`PROG_TIPO_MSG_ID` = `mo`.`PROG_TIPO_MSG_ID` OR `mi2`.`PROG_TIPO_MSG_ID` = 40) AND `mi2`.`DATA_RICEZIONE` >= `mo`.`DATA_TRASMISSIONE` AND `mi2`.`PROG_STATO_ELABORAZIONE_ID` = 6 AND `mi2`.`COD_MITT` = 'H')
GROUP BY `sg`.`DESCRIZIONE`,`sg`.`PROG_SISTEMA_GIOCO_ID`,`sg`.`CODICE_CONC`,`sout`.`CODICE`,`tm`.`CODICE`) `p`
ORDER BY `p`.`numero_msg` DESC