Now working, thank you.
SELECT Coalesce( sGIG, 'Tot' ) as sGIG, Sum(Number) as Num
FROM (
SELECT LEFT (idDGIG, 2) AS sGIG, COUNT(idDGIG) AS NUMBER
FROM TABLE_LONG
WHERE
LEFT (idDGIG, 2) IN ('QM', 'QI', 'QO', 'QS')
AND DATE_START = DATE_ADD(CURDATE(), INTERVAL - 1 DAY)
GROUP BY sGIG
UNION ALL
SELECT LEFT (idDGIG, 2) AS sGIG, COUNT(idDGIG) AS NUMBER
FROM TABLE_SHORT
WHERE
LEFT (idDGIG, 2) IN ('QM', 'QI', 'QO', 'QS')
AND DATE_START = DATE_ADD(CURDATE(), INTERVAL - 1 DAY)
GROUP BY sGIG
) AS sums
Group by sGIG WITH ROLLUP;
+--------+--------+
| sGIG | NUMBER |
+--------+--------+
| QI | 11 |
| QM | 4 |
| QO | 22 |
| QS | 11 |
| Tot | 48 |
+--------+--------+