ФорумРазработкаБазы данных → Реализация IF в SQL запросе.

Реализация IF в SQL запросе.

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 30 мая 2010 г. 21:50

    Добрый вечер =)
    Можно ли в SQL запросе реализовать иф таким образом?

    UPDATE `product` SET (IF(`totalReiting`=0) `totalReiting`={$votes} ELSE `totalReiting`=(`totalReiting`+{$votes})/2) WHERE `productID`={$productID}


    Чет найти нигде не могу инфу по конкретно этому случаю, а остальное не получается =(
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 30 мая 2010 г. 21:55, спустя 5 минут 19 секунд

    ой, у меня что-то не получалось, попробуй через
    SET @foo = IF(…)
    UPDATE `table` SET foo=@foo
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 30 мая 2010 г. 22:06, спустя 10 минут 14 секунд

    UPDATE `product`
    SET
       `totalReiting`= CASE WHEN `totalReiting`=0 THEN {$votes} ELSE (`totalReiting`+{$votes})/2) END
    WHERE
       `productID`={$productID}
    как-то так
    Work, buy, consume, die
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 30 мая 2010 г. 22:17, спустя 11 минут 31 секунду

    О, круто =) Спасибо
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 мая 2010 г. 22:22, спустя 4 минуты 59 секунд


    UPDATE `product` SET `totalReiting`=IF(`totalReiting`=0, {$votes}, (`totalReiting`+{$votes})/2) WHERE `productID`={$productID}
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!