日期:2014-05-17  浏览次数:20517 次

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

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

表 TEST,

BILLID , ITEMNO,QTY
  1 , 1 , 2
  1 , 2 , 44
  1 , 3 , 55
  1 , 4 , 88

如何可以判断到该列QTY全部大于0时返回T,如果有其中一个数小于0则返回F



------解决方案--------------------
SQL code
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'

------解决方案--------------------
SQL code

--> 测试数据:[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,88

select 
     case 
        when exists(select 1 from test where [QTY]<0) 
            then 'F' else 'T' end as [state]
/*
state
------------
F
*/