Nadal jestem trochę zdezorientowany twoim pytaniem, ale to powinno działać tak, jak rozumiem. Zamiast wszystkich IF
instrukcji, rozważ przeniesienie do jednego CASE
oświadczenie, ustawiając domyślną wartość na 0. Następnie dodaj sprawdzenie, czy wartość nie jest równa 0, aby coś zrobić.
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