Мне трудно быть уверенным, не видя таблицы и ссылки на данные, но если те изображения, которые вы разместили, верны, то это должно сработать: сохраните набор данных в две временные таблицы, затем объедините таблицы, чтобы получить нужные данные:
CREATE TEMPORARY TABLE t1
SELECT q.id_socio, q.nome, q.nif, q.num_mecanografico, SUM(IFNULL(qt.quota_nova,
quota)) AS 'quota'
FROM
(SELECT id_socio, quota_nova FROM QUOTAS_TEMPORARIAS WHERE ANO = 2019 AND MES = 10)
AS qt
RIGHT JOIN
(SELECT id_socio, nome, nif, num_mecanografico, quota
FROM SOCIO s, TIPO_PAGAMENTO tp, AGRUPAMENTO a, ORGANIZACAO o
WHERE s.ID_TIPO_PAGAMENTO = tp.ID_TIPO_PAGAMENTO AND s.id_agrupamento =
a.id_agrupamento AND a.id_organizacao = o.id_organizacao AND o.id_organizacao = 1
AND
s.id_tipo_pagamento = 1
) AS q ON q.id_socio = qt.id_socio
GROUP BY q.id_socio
WITH ROLLUP
HAVING q.nome IS NOT NULL AND q.nif IS NOT NULL AND q.num_mecanografico IS NOT NULL
OR q.id_socio IS NULL;
CREATE TEMPORARY TABLE t2
SELECT null,null,null,null,quota FROM t1 WHERE id_socio IS NOT NULL;
SELECT * FROM t1
UNION ALL
SELECT * FROM t2;