SUM_IF([value], [month] = [var_month] AND [year] = [var_year] - 1)
SUM_IF([value], [month] = [var_month] AND [year] = YEAR(NOW()))
SUM_IF([value], [month] = [var_month] AND [год] = YEAR(NOW())-1
SUM_IF([value],
DATETIME([date]) >= DATE(CONCAT(STR(YEAR([date_from])-1), '-', STR(MONTH([date_from])), '-', STR(DAY([date_from]))))
AND DATETIME([date]) <= DATE(CONCAT(STR(YEAR([date_to])-1), '-', STR(MONTH([date_to])), '-', STR(DAY([date_to]))))
)
SELECT COALESCE(current_year.year, last_year.year + 1) AS year,
COALESCE(current_year.month, last_year.month) AS month,
COALESCE(current_year.day, last_year.day) AS day,
COALESCE(current_year.data, TO_DATE(CONCAT(YEAR(last_year.data)+1, '-', MONTH(last_year.data), '-', DAY(fact_last_year.data)), 'yyyy-M-d')) AS data,
COALESCE(current_year.category, last_year.category) AS category,
current_year.value,
last_year.value AS value_appg
FROM table current_year
FULL JOIN table last_year
ON current_year.year = last_year.year + 1
AND current_year.month = last_year.month
AND current_year.day = last_year.day
AND current_year.category = last_year.category