Псевдоним должен быть во внешнем запросе , а не во внутреннем запросе :
SELECT i.InvoiceNo AS Invoice,
i.invDate AS DATE,
i.invValue AS Amount,
(SELECT SUM(i2.invValue)
FROM invoices i2
WHERE i2.fKey = 186 AND i2.inv_openClosed = 0
) AS GrandTotal
FROM invoices i
WHERE i.fKey = 186 AND i.inv_openClosed = 0
ORDER BY i.Invoice DESC;
Вы заметите, что я также включил псевдонимы таблиц и полные имена столбцов. Вы также можете написать это как коррелированный подзапрос, так что вам не нужно повторять константы:
(SELECT SUM(i2.invValue)
FROM invoices i2
WHERE i2.fKey = i.fKey AND i2.inv_openClosed = i.inv_openClosed
) AS GrandTotal
А в MySQL 8+ вы можете использовать оконные функции:
SELECT i.InvoiceNo AS Invoice,
i.invDate AS DATE,
i.invValue AS Amount,
SUM(i.invValue) OVER (PARTITION BY fKey, inv_openClosed) as GrandTotal
FROM invoices i
WHERE i.fKey = 186 AND i.inv_openClosed = 0
ORDER BY i.Invoice DESC;