鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ 請(qǐng)問(wèn)mysql 如何實(shí)現(xiàn)根據(jù) 條件查詢不同字段下的值

請(qǐng)問(wèn)mysql 如何實(shí)現(xiàn)根據(jù) 條件查詢不同字段下的值

 id  name                day        pic_1                pic_2
 2  臨時(shí)工               1         5964944ddddb8.png  5964944dde970.png    
 3  正式工               3         596494671f4aa.png  596494672044b.png    
 4  優(yōu)秀員工             7         596494b16f6e6.png  596494b17029e.png    
 5  組長(zhǎng)                30         596494c04d370.png  596494c04eec8.png    
 6  主管                60         596494cc90c4e.png  596494cc923be.png    
 7  經(jīng)理                90         596494da5fa53.png  596494da6060b.png    
 8  場(chǎng)主               180         596494ea20e08.png  596494ea22578.png    
 9  大佬               365         596494fa53a3f.png  596494fa551af.png    
 
 請(qǐng)問(wèn)大佬 現(xiàn)在有一張表 需要根據(jù) 條件day 的不同 ,查詢pic_1 或者pic_2的字段值
 例如 day >= 6  或者 day <= 9 的時(shí)候 ,請(qǐng)問(wèn)應(yīng)該怎么寫(xiě)sql語(yǔ)句
 
回答
編輯回答
初心

使用 case when 語(yǔ)句

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)
2017年10月9日 03:14