2010-08-12 48 views
0

我想創建一個視圖來拉特定的記錄。我遇到的問題是有兩條記錄可供選擇,一條狀態標誌是1或2.它應該拉1條記錄(如果存在),如果不存在2條記錄。SQL視圖有條件的選擇

這是可能的一個視圖嗎?

+0

你能提供表格的模式嗎? – Faiz 2010-08-12 18:01:14

回答

3

嘗試通過狀態值的或成組排序和由狀態標誌返回分鐘

0

select top 1和秩序它。

+0

添加了標籤,但它是SQL Server 2005。 – 2010-08-12 17:58:14

0
Select B.* 
FROM 
    (Select 
     ID 
     ,MIN(Flag) Flag 
    From TableName 
    Group by ID) A 
    LEFT JOIN TableName B on A.ID=B.ID and A.Flag=B.Flag 
0
select * from table 
where Status = 1 

union 

select * from table t 
where status = 2 
    and not exists (select * from table t2 where t.id = t2.id and Status = 1) 

注意,這種方法效果最好,當你有一個ID列來比較。這是Faiz寫的不同的味道。