Kermii
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
1
  • Najlepsze
  • Wszystkie komentarze
a.....f
a.....f
@Kermii:
SELECT id, a, b, operation,C
FROM expressions
WHERE
CASE
when operation = '+' AND a + b = c
0
plushy
@Kermii: Jaka baza? Pasowałoby ANY.
0