当A字段为1时,显示确认,为0是显示为确认,B字段为1是显示为删除。
也就是这个显示值是通过两个子段确认的。

解决方案 »

  1.   

    select case when a = 1 and b<> 1 then '确认' else when a = 0 and b<> 1 then '未确认' 
        else when b = 1 then '删除' end as showStr
    from table1
      

  2.   

    select case when 字段A=1 then '確認' when 字段A=0 then '未確認' end,
           case when 字段B=1 then '刪除' when 字段B=0 then '未刪除' end
    from 表
      

  3.   

    select case when a = 1 then '确认'
                when a = 0 then '未确认'
                when b = 1 then '删除'
           end
    from tb
      

  4.   

    SELECT 其他字段,(CASE WHEN trm.PROC_STAT='1' THEN '確定' WHEN  trm.PROC_STAT='0' THEN '取消' END,
                      CASE WHEN trm.DEL_FLG = '1' THEN '削除' END) STAT FROM table .....
    提示我,后无效的语句错误。
      

  5.   

    我感觉你这个有点矛盾.
    当a = 1 , b = 1 时,显示什么?
    如果以b为准,按照六楼的做法即可.
    或者你自己调整顺序.
      

  6.   

    select 字段A,字段B,
    case when 字段A=1 then '確認' when 字段A=0 then '未確認' end AS A状态,
           case when 字段B=1 then '刪除' when 字段B=0 then '未刪除' enD AS B状态
    from 表
      

  7.   

    当A字段为1时,显示确认,为0是显示为确认,B字段为1是显示为删除。
    这段汉语比较有意思。
    (不要高估你的汉语表达能力或者我的汉语理解能力)A B R
    1 1 '确认'
    1 0 '确认'
    0 1 '确认'
    0 0 '删除'?建议先学习母语。
      

  8.   


    这个答案接近,但 else when用法好像有问题,提示when附近语句错误。
      

  9.   


    不好意思,我只是想要实现类似功能的方法。
    删除flg(B字段) 是优先的。A字段显示确认,非确认是在B字段不等于1的情况下。根上面三楼的朋友理解一样。
      

  10.   


    语句错误呀,去掉两个else 可以了。但这样每次都要判断一下,效率有影响,没办法了。
      

  11.   

    select case a1 when '是' then '1' when '否' then '0' else '0' end from table