2 kobechan81 kobechan81 于 2017.09.18 17:13 提问

mysql:sql语句设计撰写咨询

如图,我想新建一个字段,把5_1到5_11分别用字母a到k表示,5_1为1的话就代表a,为0的话不做代表,5_2到5_11同理,例如第一行,在新字段中表示为bek,第二行表示为cd,第三行表示为abceghijk。
怎么用sql处理?数据库是mysql-5.7,可视化工具是navicat for mysql

图片说明

3个回答

caozhy
caozhy   Ds   Rxr 2017.09.18 17:18
 SELECT if((5_1 =  1) ,'a', '') +  if((5_2 =  1) ,'b', '')  +  if((5_3 =  1) ,'a', '')  + ...  FROM Table  
caozhy
caozhy   Ds   Rxr 2017.09.18 17:19
  SELECT if((5_1 =  1) ,'a', '') +  if((5_2 =  1) ,'b', '')  +  if((5_3 =  1) ,'c', '')  + ...  FROM Table 
kobechan81
kobechan81   2017.09.19 09:38

SELECT CONCAT(
CASE 5_1 WHEN 1 then 'a' else '' end,
CASE 5_2 WHEN 1 then 'b' else '' end,
CASE 5_3 WHEN 1 then 'c' else '' end,
........
) as NewCol FROM TableName;

Csdn user default icon
上传中...
上传图片
插入图片