Как суммировать НДС в столбце в SQL Server 2008? - PullRequest
0 голосов
/ 02 августа 2010

предположим, у меня есть следующая таблица

CREATE TABLE #ResultTable (NettAmount money, GrossAmount money,TotalVat money) 

Учитывая общую сумму, например = 250, я знаю, что НДС составляет 17,5%. Как рассчитать итоговую НДС?

Спасибо за любые предложения

Ответы [ 3 ]

4 голосов
/ 02 августа 2010
 INSERT #ResultTable 
     (NettAmount, GrossAmount, TotalVat)
 SELECT
     NettAmount, GrossAmount, GrossAmount * 17.5 /100
 FROM
     SourceTable 

Непонятно, что вы хотите сделать, извините ...

2 голосов
/ 02 августа 2010

devnet247 - иметь 2-ю таблицу, в которой указана действующая ставка НДС с отслеживаемой датой в виде строк:

vat_rate | vat_type | stt_date | end_date
-----------------------------------------
0.175    | 1        | 20100101 | null


vat_type | description
-----------------------------------------
1        | standard rate
2        | reduced rate
3        | zero rate

, а затем присоединиться к той таблице, в которой дата счета-фактуры действительна для строки.ваш окончательный sql был бы в любом случае по линиям

SELECT SUM(NettAmount * vat_rate as total_vat) from #ResultTable r1, vat_table v1 
where r1.invoice_date between v1.stt_date and v1.end_date
and r1.vat_type = v1.vat_type

, если бы вы отслеживали чан:)

jim

[править] - если бы вы использовали вторую таблицу, я бы предложил расширить ее до 3-й таблицы - vat_type, так как ставки НДС варьируются в зависимости от продукта и времени.см http://www.hmrc.gov.uk/vat/forms-rates/rates/rates.htm#1

1 голос
/ 02 августа 2010
SELECT SUM(GrossAmount) * 17.5 /117.5 AS VATAmount
FROM SourceTable

Принимая во внимание, что (Великобритания) НДС должен увеличиться до 20% с января 2011 года, было бы хорошей идеей последовать предложению Джима с отслеживающей дату таблицей поиска ставки НДС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...