我需要从现有的TABLE导出数据.直到最近我用过 –
SELECT item_ID,item_Info,...moreFields... FROM tableName WHERE myCondition=0
现在,他们更改了TABLE结构,并添加了新字段“item_Info2”
当他们填写表:
>如果“item_Type”为1或2或3或4,则“item_Info”是相关的
>如果“item_Type”为5,那么“item_Info”为空,我需要“item_Info2”作为我的查询结果,而不是“item_Info”
什么是相应的SELECT命令?
[类似问题:mysql select any one field out of two with respect to the value of a third field
但是从这个例子中我看不到选择moreFields的语法]
谢谢,
Atara.
最佳答案
您可以将CASE语句视为任何其他列名,将其与逗号等其他列分开.在CASE中发生的事情应该被视为单个列名,在您的情况下,您需要在它之前和之后使用逗号.
原文链接:https://www.f2er.com/mysql/433875.htmlSELECT item_ID,CASE WHEN item_Type = 5 THEN item_info ELSE item_info2 END,field_name,another_field_name ...moreFields... FROM tableName WHERE myCondition=0
SELECT item_ID,CASE WHEN item_Type = 5 THEN item_info ELSE item_info2 END AS 'item_info',another_field_name ...moreFields... FROM tableName WHERE myCondition=0