Рейтинг:
5
Er. Puneet Goel
Попробуйте что-нибудь вроде этого
DECLARE @Income INT = 700000;
DECLARE @TaxPercentage INT = 0;
IF(@Income < = 250000)
SET @TaxPercentage = 0;
ELSE IF(@Income > 250000 AND @Income <= 500000)
SET @TaxPercentage = 5;
ELSE IF(@Income > 500000 AND @Income <= 1000000)
SET @TaxPercentage = 20;
ELSE IF( @Income > 1000000)
SET @TaxPercentage = 30;
SELECT @Income, @TaxPercentage
0x01AA
Только маленькая вещь: если что-то не <= 25'000, то это > 25'000, и нет необходимости перепроверять это с >
balongi
он должен давать такой результат
https://www.taxmann.com/Tax-Calculator.aspx
Er. Puneet Goel
Видите ли, мы можем предоставить вам, как вы можете решить то, что вы просите, а не то, что хочет ваш бизнес. Итак, вам нужно посмотреть, какую логику они реализуют. Надеюсь, вы понимаете.
Er. Puneet Goel
На этой странице они не просто используют приведенную выше формулу, но у них есть какая-то другая логика. Финансовый человек расскажет, что он делает, и тогда вы сможете преобразовать его в программу. Вот как работает развитие.
Richard MacCutchan
Как говорит 0x01AA, вам не нужно дважды проверять, больше ли значение некоторого числа, когда вы уже проверили, что оно меньше или равно. И последнее утверждение ELSE не нуждается в части сравнения, так как оно должно быть истинным, если все остальные ложны.
Рейтинг:
19
OriginalGriff
Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.
Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!
Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!
balongi
объявите @gross int, @rangestart int, @percantage int
set @gross =500000
выберите @rangestart=rangestart, @percentage =percantage из taxslab, где year ='2018'
объявить @taxamount int
set @taxamount =(@gross-@rangestart)*@percantage/100)
выберите @taxamount
но это не дает правильную цифру согласно онлайн Калькутте или сайту подоходного налога
OriginalGriff
Конечно, это не так - в мире нет такого простого налогового кодекса!
Налог не работает так: ставка а применяется к доходам от 0 до X, а ставка в применяется к доходам от X+1 до Y, затем Ставка с применяется к доходам от Y+1 до Z и так далее.
Потом идут дедукции, бла-бла-бла.
Это не очень хорошая идея: ИП - это определенно неправильное место для этого, потому что диапазоны ставок и ставки меняются слишком часто, и это законное требование, чтобы получить это право-штрафы, которые взимаются, если вы совершаете ошибки с налогом на людей, как правило, являются карательными.
Сделайте это на своем бизнес - уровне, используя переменные входные данные из внешнего хранилища-SP-это совершенно неподходящее место для этого!