Если вам нужны все три значения, вы можете использовать условное агрегирование:
SELECT SUM(IIF(b.Service_ID IS NOT NULL, st.Service_fee, 0)) as total_1,
SUM(b.Service_Id) as total_2,
SUM(IIF(b.Service_ID IS NULL, st.Service_fee, 0)) as diff
FROM (Service_template as st LEFT JOIN
Service as s
ON st.Service_Code = s.Service_Code
) LEFT JOIN
Bill as b
ON s.Service_ID = b.Service_ID;
Если вы просто хотите SUM()
, где Service_Id
равно NULL
, тогда:
SELECT SUM(b.Service_Id) as diff
FROM (Service_template as st LEFT JOIN
Service as s
ON st.Service_Code = s.Service_Code
) LEFT JOIN
Bill as b
ON s.Service_ID = b.Service_ID
WHERE b.Service_ID IS NULL;