如何判断表某列内容并返回值
MSSQL2000表 TEST,

BILLID , ITEMNO,QTY
     1    ,   1   , 2
     1    ,   2   , 44
     1    ,   3   , 55
     1    ,   4   , 88如何可以判断到该列QTY全部大于0时返回T,如果有其中一个数小于0则返回F

解决方案 »

  1.   

    if exists(
    select 1 from test t
    where not exists(select 1 from test where billid=t.billid and qty<=0)
    )
      print 'T'
    else 
      print 'F'
      

  2.   


    --> 测试数据:[TEST]
    if object_id('[TEST]') is not null drop table [TEST]
    create table [TEST]([BILLID] int,[ITEMNO] int,[QTY] int)
    insert [TEST]
    select 1,1,2 union all
    select 1,2,44 union all
    select 1,3,55 union all
    select 1,4,-3 union all
    select 1,5,88select 
         case 
            when exists(select 1 from test where [QTY]<0) 
                then 'F' else 'T' end as [state]
    /*
    state
    ------------
    F
    */