我需要从现有的TABLE导出数据。直到最近我用 -
SELECT item_ID, item_Info, ...moreFields... FROM tableName WHERE myCondition=0
现在,他们更改了TABLE结构,并添加了新字段“item_Info2”
当他们填写表格时:
相应的SELECT命令是什么?
[类似问题:mysql select any one field out of two with respect to the value of a third field
但从此示例中我看不到选择moreFields的语法]
谢谢,
Atara。
答案 0 :(得分:11)
您可以将CASE
语句视为任何其他列名称,并使用逗号将其与其他列分开等。CASE
中的内容应视为单个列名称,在您的名称中你需要在它之前和之后使用逗号。
SELECT 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', field_name, another_field_name ...moreFields... FROM tableName WHERE myCondition=0
答案 1 :(得分:3)
编辑其他问题的回复:
SELECT
item_id, item_otherproperty,
CASE WHEN item_Type= 5
THEN item_Info2
ELSE item_Info
END AS `info` FROM table ...