Я попытался создать функцию mysql. В течение определенного месяца он возвращает пустой результат. Мне нужно установить этот пустой результат как «0». Как это сделать? Вот моя функция mysql.Функция Mysql возвращает пустой результат
DELIMITER $$
CREATE FUNCTION `monthtargetbyuser`(`userId` BIGINT,month VARCHAR(11),year VARCHAR(11)) RETURNS int(11)
BEGIN
DECLARE target,da BIGINT;
set da = year-month;
SET target = (SELECT ifnull(user_target.monthly_target,0) as monthly_target from user_target left join users on users.id=user_target.user_id where date_format(users.doj,'%Y-%m') <= 'da' and user_target.year=year and year(users.doj)>0 and users.locked !=1 and users.id =userId);
RETURN target;
END
Спасибо заранее!
при использовании max() или min() возвращает все значение как ноль. @Shadow –
Это означает, что запрос не возвращает никаких результатов, поэтому max() или min() возвращает значение null все время. Сначала вам нужно исправить внутренний запрос. Я дал вам указания для этого. Я ничего не могу сделать. Вы должны спросить об этом в отдельном вопросе вместе с примерными данными и ожидаемыми результатами. – Shadow
Я исправил внутренний запрос, как вы сказали, и использовал функцию min(). Он работает нормально во время работы в phpmyadmin. Но в php пустой результат также показывает значения. @Shadow –