,CASE WHEN i.DocValue ='F2' AND c.CondCode IN ('ZPR0','ZT10','Z305') THEN c.CondVal
ELSE 0
END as Value
มีสองประเภทมีCASEคำสั่งอย่างง่ายและการสืบค้น
คุณไม่สามารถประเมินหลายนิพจน์ในนิพจน์กรณีแบบง่ายซึ่งเป็นสิ่งที่คุณพยายามทำ
-- Simple CASE expression:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
-- Searched CASE expression:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
ตัวอย่างของ Simple CASE:
CASE x
WHEN 'a' THEN 'b'
WHEN 'c' THEN 'd'
ELSE 'z'
END
ตัวอย่างของ CASE ที่ค้นหา:
CASE
WHEN x = 1 AND y = 2 THEN 'a'
WHEN x = 2 AND y = 1 THEN 'b'
ELSE 'z'
END
อ่านเพิ่มเติม: http://msdn.microsoft.com/en-us/library/ms181765.aspx