2016-01-19 3 views
0

Как использовать оператор IF в ГДЕ? Ниже код не работаетКак использовать инструкцию IF в предложении WHERE

SELECT item.item_id, 
     item.item_name, 
     item.item_qty 
IF(sell.product_qty IS NULL, item.item_qty, item.item_qty - SUM(sell.product_qty)), 
     sell.date_order, 
     sell.date_shipping 
FROM item 
    OUTER JOIN sell 
       ON item.item_id = sell.product_item_id 
WHERE NOW() BETWEEN sell.date_order AND sell.date_shipping 
+2

Что вы имеете в виду, не работает? Вы получаете сообщение об ошибке? Какие результаты вы ожидаете и какие результаты вы получаете? –

+0

Не совсем уверен, что вы просите, но эта ссылка может помочь: http://stackoverflow.com/questions/63447/how-to-perform-an-if-then-in-an-sql-select –

+0

Пожалуйста, проверьте [ http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html](http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions .html) для идеи по IF – Khaleel

ответ

0

Вы должны использовать инструкцию CASE.

CASE WHEN sell.product_qty IS NULL THEN item.item_qty 
ELSE item.item_qty - SUM(sell.product_qty) END 
Смежные вопросы