Одним из вариантов, является условной агрегацией ....
SELECT SUM(IF(f.Sponsor ='True',CAST(CAST(Amount AS float) AS INT),0)) AS TotalSponsor
, SUM(IF(f.StudentLoan='True',CAST(CAST(Amount AS float) AS INT),0)) AS TotalLoan
FROM Fees f
WHERE f.Sponsor = 'True'
OR f.StudentLoan = 'True'
ПЧ функции() вычисляет первый аргумент как логическое значение, если он имеет значение TRUE, он возвращает второй аргумент, иначе он возвращает третий аргумент.
Вы можете использовать выражение CASE, вместо IF для эквивалентного поведения ...
SUM(CASE WHEN somecondition THEN somevalue ELSE 0 END)
Или, вы можете использовать sbqueries в списке выбора внешнего запроса, что-то вроде этого:
SELECT (SELECT SUM(CAST(CAST(Amount AS float) AS INT))
FROM Fees
WHERE(Sponsor = 'True')
) AS TotalSponsor
, (SELECT SUM(CAST(CAST(Amount AS float) AS INT))
FROM Fees
WHERE(StudentLoan = 'True')
) AS TotalLoan
Или, вы можете использовать запросы как представления инлайн
SELECT s.TotalSponsor
, l.TotalLoan
FROM (SELECT SUM(CAST(CAST(Amount AS float) AS INT)) AS TotalSponsor
FROM Fees WHERE(Sponsor = 'True')
) s
CROSS
JOIN (SELECT SUM(CAST(CAST(Amount AS float) AS INT)) AS TotalLoan
FROM Fees WHERE(StudentLoan = 'True')
) l