代码之家  ›  专栏  ›  技术社区  ›  dzm

MySQL中IF条件的处理

  •  2
  • dzm  · 技术社区  · 14 年前

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

    • 产品id
    • 项目\u id
    • 额外的\u id
    • 什么东西

    我想返回一个基于这些值的结果,例如

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

    谢谢!

    2 回复  |  直到 14 年前
        1
  •  2
  •   OMG Ponies    14 年前

    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
    

        2
  •  1
  •   Your Common Sense    14 年前
    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