我有一个基于表中各种ID的查询应返回不同的结果。例如:
我想根据这些值返回结果,例如
IF item_id != 0 'ITEM' ELESEIF product_id != 0 'PRODUCT', etc.
有谁知道怎么做?
谢谢!
答案 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