这是我的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
这里我遇到问题,包括基于表列值的条件
E.g。我有值1和2和3
当我执行时,我收到错误。
Msg 156,Level 15,State 1,Line 3
关键字“if”附近的语法不正确。
Msg 156,Level 15,State 1,Line 9
关键字'from'附近的语法不正确。
答案 0 :(得分:3)
将if语句替换为case语句。你不能在这样的查询中使用if。
答案 1 :(得分:2)
详细说明Namphibian的回答,这是准确的:
SELECT
@Type = (CASE tn.Notification_Type
WHEN 1 THEN 'WORK FLOW'
ELSE 'SOMETHING ELSE'
END)
FROM tbl_Notification tn
您也无法在SQL查询中执行此类打印,之后您必须在某种循环情况下执行此操作。
答案 2 :(得分: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