处理MySQL中的IF条件

时间:2010-09-05 18:19:30

标签: sql mysql

我有一个基于表中各种ID的查询应返回不同的结果。例如:

表'订单'

  • PRODUCT_ID
  • ITEM_ID
  • extra_id
  • something_id

我想根据这些值返回结果,例如

IF item_id != 0 'ITEM' ELESEIF product_id != 0 'PRODUCT', etc.

有谁知道怎么做?

谢谢!

2 个答案:

答案 0 :(得分:2)

CASE表达式是ANSI,在许多数据库上都受支持:

SELECT CASE 
         WHEN o.item_id != 0 THEN 'ITEM'
         WHEN o.product_id != 0 THEN 'PRODUCT'
       END AS your_column_name
  FROM ORDERS o

ANSI是可移植性的首选,而不是原生供应商语法。

答案 1 :(得分:1)

SELECT IF (item_id <> 0,'ITEM',IF (product_id <> 0, 'PRODUCT','N/A')) as type

http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html