如何在MYSQL中编写嵌套的if-else-if
以下步骤必须正确。在mysql上运行时出现错误 错误代码:1064。您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第27行“”附近使用的正确语法如何在MYSQL中编写嵌套的if-else-if,mysql,if-statement,nested-if,Mysql,If Statement,Nested If,以下步骤必须正确。在mysql上运行时出现错误 错误代码:1064。您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第27行“”附近使用的正确语法 我认为您可能应该使用语句来执行此过程如下更新存储函数 DELIMITER $$ DROP FUNCTION IF EXISTS `check2_login`$$ CREATE FUNCTION `check2_login`(p_username VARCHAR(30),p_password VARCHAR(30),role VAR
我认为您可能应该使用语句来执行此过程如下更新存储函数
DELIMITER $$
DROP FUNCTION IF EXISTS `check2_login`$$
CREATE FUNCTION `check2_login`(p_username VARCHAR(30),p_password VARCHAR(30),role VARCHAR(20)) RETURNS BOOL
BEGIN
DECLARE retval INT;
IF role = "customer" THEN
SELECT COUNT(custid) INTO retval FROM customer WHERE custid = p_username and pwd = p_password;
IF retval != 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
ELSEIF role = "executive" THEN
SELECT COUNT(execid) INTO retval FROM executive WHERE execid = p_username and pwd = p_password;
IF retval != 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
ELSEIF role = "admin" THEN
SELECT COUNT(empid) INTO retval FROM employee WHERE empid = p_username and pwd = p_password;
IF retval != 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
ELSE
RETURN FALSE;
END IF;
END$$
DELIMITER ;
希望这将帮助你…!打赌你希望你有一个登录表…如何在mysql函数中连接两个表。这里还有指定表。根据你的新要求发布新问题。如果你更新了相同的问题,那么用户将看不到它。因此,为此发布新问题…如果你提供了,我将对你的答案进行投票解释原始代码的问题所在,以及解决方案解决问题的原因/方式
SELECT *,
IF(discount='0',
( IF(tax='0', discount_price, discount_price + (discount_price * (tax_rate/100))) ),
( IF(tax='0', price, price + (price * (tax_rate/100))) )
) AS price_last
FROM products WHERE id=1
SELECT *,
IF(discount='0',
( IF(tax='0', discount_price, discount_price + (discount_price * (tax_rate/100))) ),
( IF(tax='0', price, price + (price * (tax_rate/100))) )
) AS price_last
FROM products WHERE id=1