如何根据某列的值的不同以不同别名查出结果集
 悬赏分:0 - 离问题结束还有 14 天 23 小时 
比如一个表t_keyword,里面有一列type。type只有两个值,1和2
我想根据1来得到单词,2来得到详解。
我用case会有语法错误。
select id,type_id,case k.pk_type 
when 1 then k.name wordKeywordName
when 2 then k.name detailKeywordName end
from keyword
那是因为then后面不能加别名。
我想得到如下结果
id     typeid    wordKeywordName    detailKeywordName
1      1            value                  
2      2                                     value
3      1              value

解决方案 »

  1.   

    select id,type_id,case k.pk_type  
    when 1 then k.name 
    when 2 then k.name  end
    from keyword
      

  2.   

    给出你的测试数据和要求的结果。我想得到如下结果
    id typeid wordKeywordName detailKeywordName
    1 1 value   
    2 2 value
    3 1 value这个4个列头,只有3个值。
      

  3.   

    是MYSQL?
    可以在CASE WHEN中用别名
      

  4.   

    改成如下即可select id,type_id,
    case k.pk_type  when 1 then k.name end as wordKeywordName,
    case k.pk_type  when 2 then k.name end as detailKeywordName
    from keyword
      

  5.   

    是这样?
    select id,type_id,case k.pk_type  
    when 1 then k.name END AS wordKeywordName,
    when 2 then k.name END AS detailKeywordName end
    from keyword