我用一个简单的存储过程,努力从2个表收集数据并发送回PHP:mysql如何返回NULL值,如果没有记录
BEGIN
DECLARE cur_name VARCHAR(50);
SELECT currency_name INTO cur_name FROM currencies WHERE id = currency_id_var;
SELECT cur_name, sum(amount) AS income_amount, currency_id, month(income_date) AS month_of_income
FROM incomes
WHERE user_id = user_id_var
AND currency_id = currency_id_var
AND income_date > year_beginning_var
AND month(income_date) = month_var
GROUP BY currency_id;
END
它的工作好,除非是在'收入'表中找不到记录。我需要使用'cur_name'设置(它始终有一些值)和其余变量(income_amount,currency_id,month_of_income)设置为NULL的过程的响应。 我在问一些无法做到的事情吗? 我试图使它与选择IFNULL和UNION SELECT NULL种命令,没有成功... 谢谢!
我不确定,但你应该检查[this](https://stackoverflow.com/questions/28089275/select-statement-to-return-constant-when-no-records-found-in-table-in -sql-server#answer-28090639) –