Проверьте, не существует ли запись ИЛИ, если условие истинно, верните параметр в MySQL - PullRequest
0 голосов
/ 11 сентября 2018

Имеется простая таблица, подобная этой:

var1 | var2
  0  |  3
  2  |  4
  6  |  5

Мне нужно вернуть самое низкое значение (var1, кратное 2), для которого либо запись не существует (в данном случае 4), либо var2 равно 5 (в данном случае 6). Мне нужно сделать это как один запрос, но, к сожалению, я новичок в функциях MySQL.

Я пытался создать такую ​​функцию:

DELIMITER //

CREATE FUNCTION Prova ( starting_value INT ) returns int;
BEGIN
   DECLARE testNum INT DEFAULT 0;
  test_loop : LOOP
    IF (SELECT db.tabella WHERE var1 = testNum AND var2 <= 5) OR WHERE NOT EXISTS (
    SELECT * FROM db.tabella WHERE var1 = 'testNum'
) LIMIT 1; THEN
    RETURN testNum;
    END IF;
SET testNum = testNum + 2;
SELECT testNum; 
END LOOP; 

END;

но это не похоже на работу. Спасибо.

...