加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2021-03-17 22:02:28 所属栏目:MySql教程 来源:网络整理
导读:我需要从现有的TABLE导出数据.直到最近我用过 SELECT item_ID,item_Info,...moreFields... FROM tableName WHERE myCondition=0 现在,他们更改了TABLE结构,并添加了新字段“item_Info2” 当他们填写表: 如果“item_Type”为1或2或3或4,则“item_Info”是相

我需要从现有的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

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读