CREATE PROCEDURE expressionsVerification() BEGIN SELECT * from expressions where ???(locate(operation, "+-*/"), a+b, a-b, a*b, a/b) = c; END Co powinno się znaleźć w miejscu "???" (trzy litery)? Na podstawie kolumny operation (+/-/*/%) baza robi operacje matematyczną i zwraca tylko te rekordy, które są prawidłowe (wynik operacji jest prawidłowy). Chciałem to zrobić CASE/ IF ale za nic nie mogę tego ugryźć...
CREATE PROCEDURE expressionsVerification() BEGIN
SELECT id, a, b, operation,
SELECT (c = (CASE when operation = '+' then a + b when operation = '-' then a - b when operation = '/' then a / b when operation = '*' then a * b end)) as c FROM expressions; END #sql #codefights
CREATE PROCEDURE expressionsVerification()BEGIN
SELECT *
from expressions
where ???(locate(operation, "+-*/"), a+b, a-b, a*b, a/b) = c;
END
Co powinno się znaleźć w miejscu "???" (trzy litery)? Na podstawie kolumny operation (+/-/*/%) baza robi operacje matematyczną i zwraca tylko te rekordy, które są prawidłowe (wynik operacji jest prawidłowy). Chciałem to zrobić CASE/ IF ale za nic nie mogę tego ugryźć...
CREATE PROCEDURE expressionsVerification()
BEGIN
SELECT id, a, b, operation,
SELECT (c = (CASE
when operation = '+' then a + b
when operation = '-' then a - b
when operation = '/' then a / b
when operation = '*' then a * b
end)) as c
FROM expressions;
END
#sql #codefights
SELECT id, a, b, operation,C
FROM expressions
WHERE
CASE
when operation = '+' AND a + b = c