Здравствуйте.
Пишу след.запрос:
SELECT
t2.id,
t2.id_contract_agency,
@var1:=COALESCE(SUM(t2.accruals_heat * t3.heat + t2.accruals_water * t3.water + t2.accruals_electric_energy * t3.electric_energy), 0) AS cost,
@var2:=
(SELECT SUM(t4.summ_payment)
FROM contract_agency_payments t4
WHERE t4.id_contract_agency = t2.id_contract_agency
) AS payments,
(@var1-@var2) AS debt /*здесь проблема*/
FROM contract_agency t1
LEFT OUTER JOIN spr_tariff t3 ON (t1.id_tariff = t3.id)
INNER JOIN contract_agency_turnover t2 ON (t1.id = t2.id_contract_agency) AND (t1.id = t2.id_contract_agency)
GROUP BY t2.id_contract_agency
@var1-@var2 возвращает NULL, хотя cost и payments в результате числовые значения.
и еще, если вместо (@var1-@var2) прописать @var2, то выдает строковое значение, стоит написать @var2-0 (или+0), то значение корректное, если тоже самое проделать с @var1, то выдает NULL, без этого костыля строковое значение