ここ

2012-05-07 9 views
0

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 

私のSQLクエリでのIF私は値1と2と3を持っています

実行時にエラーが発生しています。キーワード 'が' 近い

メッセージ156、レベル15、状態1、行3
不適切な構文。
メッセージ156、レベル15、状態1、行9
'from'というキーワードの構文が正しくありません。

答えて

2

またはある種のループ状態で発生する可能性があります。

3

if文をcase文で置き換えます。あなたはそのようなクエリでifを使うことはできません。あなたはまた、そのようなSQLクエリで印刷を行うことができなくなります

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

、あなたが後でそれをしなければならないと思います:正確であるNamphibianの答え、については詳しく説明し

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