Нет VALUES
необходимо для INSERT . . . SELECT
:
INSERT INTO final_tab (id_member_card , points)
SELECT idMemberCard , punti
FROM (SELECT *
FROM (SELECT idMemberCard , SUM(amountOriginal) AS speso,
SUM(amountFinal) AS punti
FROM transactions
WHERE date_transaction_UTC BETWEEN '2018-01-01 00:00:00' AND '2018-03-19 23:59:59'
GROUP BY idMemberCard
) AS derived
WHERE speso >= 50
) t2;
Вы можете значительно упростить логику до:
INSERT INTO final_tab (id_member_card , points)
SELECT idMemberCard , SUM(amountOriginal) AS speso, SUM(amountFinal) AS punti
FROM transactions
WHERE date_transaction_UTC >= '2018-01-01' AND
date_transaction_UTC < '2018-03-20'
GROUP BY idMemberCard
HAVING speso >= 50;
Вы также можете указать это как представление, если вы не хотите сохранять значения в таблице.