mysql – SQL:如何根据第三个字段选择两个字段中的一个

前端之家收集整理的这篇文章主要介绍了mysql – SQL:如何根据第三个字段选择两个字段中的一个前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要从现有的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中发生的事情应该被视为单个列名,在您的情况下,您需要在它之前和之后使用逗号.

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',another_field_name ...moreFields... FROM tableName WHERE myCondition=0
原文链接:https://www.f2er.com/mysql/433875.html

猜你在找的MySQL相关文章