2012-05-07 38 views
0

這裏的條件是我的SQL查詢如果在SQL查詢

Declare @Type varchar 

select 
    if 
    (tn.notification_type=1) 
    begin 
    set @Type= 'WORK FLOW' 
    print 'status '+ CAST(@type AS nvarchar(58)) 
    end 
from tbl_Notification tn 

在這裏我得到的問題,包括基於表列值

例如一個條件我有值1和2和3

當我執行我收到錯誤。

消息156,15級,狀態1,第3行
關鍵字 '如果' 附近有語法錯誤。
Msg 156,Level 15,State 1,Line 9
關鍵字'from'附近的語法不正確。

回答

2

要在Namphibian的答案,這是準確的闡述:

SELECT 
     @Type = (CASE tn.Notification_Type 
        WHEN 1 THEN 'WORK FLOW' 
        ELSE 'SOMETHING ELSE' 
       END) 
FROM tbl_Notification tn 

您也將無法做打印在SQL查詢這樣的,你必須在事後做或者在某種循環的情況下。

3

用case語句替換if語句。你不能在這樣的查詢中使用if。

0
Declare @Type varchar 

if((select tn.notification_type from tbl_Notification tn) = 1) 
begin 
    set @Type= 'WORK FLOW' 
    print 'status '+ CAST(@type AS nvarchar(58)) 
end