Tôi vẫn còn một chút bối rối trước câu hỏi của bạn, nhưng điều này sẽ hoạt động như tôi hiểu. Thay vì tất cả IF
, hãy xem xét chuyển sang một CASE
duy nhất , mặc định giá trị là 0. Sau đó, thêm dấu kiểm nếu giá trị không phải là 0, để thực hiện điều gì đó.
DECLARE @Level int
DECLARE @Total int
DECLARE @NewPoint int
SET @Level = 61
SET @Total = 100
SELECT
@NewPoint = CASE
WHEN @Level = 61 AND @Total < 482 THEN 10
WHEN @Level = 62 AND @Total < 487 THEN 15
WHEN @Level = 63 AND @Total < 492 THEN 20
WHEN @Level = 64 AND @Total < 497 THEN 25
WHEN @Level = 65 AND @Total < 502 THEN 30
ELSE 0
END
IF @NewPoint <> 0
BEGIN
SELECT 'DO SOMETHING'
END