【发布时间】:2018-10-02 09:08:21
【问题描述】:
对 MySQL 很陌生;但是,我遇到了一些错误。我正在尝试使用一个存储过程来告诉我们有欠款的发票数量。
如果,greater than 0 ...然后将所有这些发票与余额相加。
如果这些发票的余额为 greater than or equal to 30,000,则显示一条消息,提供有余额的发票数量及其总和。
否则,if it is less than 30,000 然后显示一条消息,说总余额小于 30,000。
感谢您的帮助!
请注意,我现在拥有的代码。它在SUM 上给了我一个错误。有没有办法让我的 select 语句更好?
我的代码:
DROP PROCEDURE IF EXISTS test;
DELIMITER //
CREATE PROCEDURE test()
BEGIN
DECLARE var_balance_due_count INT;
DECLARE var_balance_due_sum DECIMAL(9,2);
SELECT
(invoice_total - payment_total - credit_total) AS balance_due,
COUNT(invoice_total - payment_total - credit_total) INTO var_balance_due_count,
SUM(var_balance_due_count) INTO var_balance_due_sum
FROM
invoices
WHERE
invoice_total - payment_total - credit_total > 0;
IF var_balance_due_sum >= 30000 THEN
SELECT CONCAT('There is ', var_balance_due_count, ' invoices.', 'Together their balance due is: $', var_balance_due_sum) AS message;
ELSE
SELECT CONCAT('Total balance due is less than $30,000.') AS message;
END IF;
END //
DELIMITER ;
CALL test();
【问题讨论】:
标签: mysql