2011-10-14 71 views
0

我需要一個查詢來檢查表中的狀態列,如果所有記錄都具有狀態完成意味着我必須設置@flag=0。 表結構爲:如何檢查SQL Server 2008中的表中的狀態列?

ID |status |date 
-------------------- 
1 |complete |01-01-2011 
2 |complete |02-02-2011 
3 |start |03-03-2011 

作爲第3記錄啓動時間比我需要設置@flag=1。 我的意思是,如果所有的記錄齊全比標誌應該是0,否則,1

+1

請使用格式來設置表格結構。它會更容易閱讀並且易於回覆 – rahularyansharma

回答

0

你的問題不是很清楚,但我想知道你可能會尋找這樣的事情:

declare @id int 
set @id = 1 
declare @flag int 

select @flag = (case when status = 'complete' then 0 else 1 end) from [tablename] where id = @id 
1
IF EXISTS (
      SELECT * 
      FROM YourTable 
      WHERE COALESCE(status, 'start') <> 'complete' 
     ) 
    SET @flag = 1; 
    ELSE SET @flag = 0; 
0
SET @flag = 0; 
IF EXISTS(select 1 from YourTable y where y.[status] = 'start') 
SET @flag = 1;