请问mysql 如何实现根据 条件查询不同字段下的值_其他数据库_编程问答

请问mysql 如何实现根据 条件查询不同字段下的值

来源:互联网  时间:2018/1/27 1:03:34

关于网友提出的“ 请问mysql 如何实现根据 条件查询不同字段下的值”问题疑问,本网通过在网上对“ 请问mysql 如何实现根据 条件查询不同字段下的值”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 请问mysql 如何实现根据 条件查询不同字段下的值
描述:

 id  name                day        pic_1                pic_2
 2  临时工               1         5964944ddddb8.png  5964944dde970.png    
 3  正式工               3         596494671f4aa.png  596494672044b.png    
 4  优秀员工             7         596494b16f6e6.png  596494b17029e.png    
 5  组长                30         596494c04d370.png  596494c04eec8.png    
 6  主管                60         596494cc90c4e.png  596494cc923be.png    
 7  经理                90         596494da5fa53.png  596494da6060b.png    
 8  场主               180         596494ea20e08.png  596494ea22578.png    
 9  大佬               365         596494fa53a3f.png  596494fa551af.png    
 
 请问大佬 现在有一张表 需要根据 条件day 的不同 ,查询pic_1 或者pic_2的字段值
 例如 day >= 6  或者 day <= 9 的时候 ,请问应该怎么写sql语句
 


解决方案1:

使用 case when 语句

SELECT            
    case          
    when day =6 then pic_1
    when day =9 then pic_2
    else ‘’      
    end                 
from   table     

示例:

mysql> select * from user;
+----+------+-------+-------+
| id | day  | pic_1 | pic_2 |
+----+------+-------+-------+
|  1 |    6 | a     | b     |
|  2 |    9 | a     | b     |
+----+------+-------+-------+
2 rows in set (0.00 sec)

mysql> SELECT id, day, case when day=6 then pic_1 when day=9 then pic_2  else  pic_1  end as pic from   user;
+----+------+------+
| id | day  | pic  |
+----+------+------+
|  1 |    6 | a    |
|  2 |    9 | b    |
+----+------+------+
2 rows in set (0.00 sec)

上一篇疑似MongoDB数据丢失问题
下一篇sql语句查询本周每天的数据量,如果没有该天,数据量默认为0;
明星图片
相关文章
《 请问mysql 如何实现根据 条件查询不同字段下的值》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)