表A
字段1   字段2  ..
A        85
A        888
B        63
B        1082
字段1值就A和B,现求查询SQL:当1='A'时, 2显示空即'',1='B'时,2原值显示.
效果如:
字段1   字段2  ..
A        
A        
B        63
B        1082
SQL语句怎么写??TKS!

解决方案 »

  1.   


    select 字段1,[字段2]=case when 字段1='A' then '' when 字段1='B' then 字段2 end 
    from Ta
      

  2.   

    select 
        字段1,字段2=case when 字段1='a' then '' end
                        when 字段1='b' then 1  end
        from
    表A
      

  3.   

    SELECT COL1,CASE WHEN COL1='A' THEN '' ELSE THEN COL2 END AS COL2 FROM TB
      

  4.   

    [code=SQL]select 
        字段1,字段2=case when 字段1='a' then '' end
                        when 字段1='b' then 字段2  end
        from
    表A[/code]
      

  5.   

    ----------------------------------------------------------------
    -- Author :fredrickhu(小F 向高手学习)
    -- Date   :2009-08-07 09:03:04
    ----------------------------------------------------------------
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    create table [tb]([字段1] varchar(1),[字段2] int)
    insert [tb]
    select 'A',85 union all
    select 'A',888 union all
    select 'B',63 union all
    select 'B',1082
    --------------开始查询--------------------------
    select 
        字段1,字段2=isnull(case when 字段1='a' then '' 
                         when 字段1='b' then 字段2 end,'')
        from
    tb
    ----------------结果----------------------------
    /*字段1  字段2         
    ---- ----------- 
    A    0
    A    0
    B    63
    B    1082(所影响的行数为 4 行)
    */
      

  6.   

    select 字段1
    ,[字段2]=case when 字段1='A' then '' 
                 when 字段1='B' then 字段2 end 
    from T
      

  7.   

    谢谢!!我的语句还有关连其他表,我这样写会出错--ORA-00936:missing expression[A.PUTIN_COUNT]=case when A.job_shift_id='A' then ''
                                when A.job_shift_id='B' then A.PUTIN_COUNT end A.PUTIN_COUNT 投入,
      

  8.   

    发现问题了,原来A.PUTIN_COUNT是INT类型,不能赋值''
    但我现在还是要让它显示''不要显示0要怎么做?