Как сделать конструкцию “SELECT IF THEN UPDATE”

314
26 января 2018, 20:46

Есть таблица bank, в ней 3 столбца: id, owner, money Мне нужно "перекинуть" X количество money из N строки в строку M, я сделал запрос, но проблема в том, что из строки N вычитает money, но когда добавляет в строку M, то там надо как-то сделать проверку, есть ли в N строке money >= X, вот мой запрос:

UPDATE bank SET money = CASE id 
    WHEN '2' THEN IF(owner = '15', money+'5', money) 
    WHEN '1' THEN IF(owner = '15' AND money >= '5', money-'5', money)
    END WHERE id IN ('1', '2')

Здесь из строки с ID 1 вычитает 5 из поля money при условии, что эти 5 были в money и прибавляет к строке ID 2 в поле money 5, но надо сделать туда условие чтобы проверяло, есть ли в строке с ID 1 поле money >= 5

Answer 1

Ну типа

SET @x = 5; -- сумма
SET @m = 2; -- получатель
SET @n = 1; -- плательщик
UPDATE bank, (SELECT 1 enough FROM bank WHERE id = @n AND money >= @x) dummy
SET money = money + @x * CASE id WHEN @m THEN 1 ELSE -1 END
WHERE id IN (@m, @n)
  AND dummy.enough;
READ ALSO
TLS, расшифровка сообщения 'Finished'

TLS, расшифровка сообщения 'Finished'

ЗдравствуйтеПрошу мне помочь, что дальше делать с этим сообщением (HEX)

337
Как правильно использовать IMouse в Selenium

Как правильно использовать IMouse в Selenium

C#, FierFox, Версия Selenium - 38 Задача: эмуляция движения курсора, используя IMouse

258
scrollrect и drop

scrollrect и drop

Я реализовал scrollrectГде есть группа дочерних объектов

316