Рассматривая все значения как положительные:
SELECT SUM(ABS(Amount)) - (SELECT SUM(ABS(Amount))
FROM Transactions
WHERE (Charity = 1))
FROM Transactions
WHERE (Charity = 0)
Но серьезно сомнительно, что отрицательные транзакции должны рассматриваться так же, как положительные.Если в этой таблице на законных основаниях присутствуют отрицательные транзакции, то их, вероятно, следует рассматривать как отрицательные (как в исходном запросе) или исключать:
SELECT SUM(Amount) - (SELECT SUM(Amount)
FROM Transactions
WHERE (Charity = 1) AND Amount > 0)
FROM Transactions
WHERE (Charity = 0) AND Amount > 0
Не уверен, какие средства доступны в sqlite.В стандартном SQL я бы, вероятно, переписал это как:
SELECT
COALESCE(SUM(CASE WHEN Charity=0 THEN Amount END),0) -
COALESCE(SUM(CASE WHEN Charity=1 THEN Amount END),0)
FROM Transactions
WHERE
Charity in (0,1) AND
Amount > 0
(или аналогичное преобразование для ABS
версии)