私は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 –