Wpis z mikrobloga

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
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach