У меня правильно работает запрос, я объединяю две таблицы, удаляю дубликаты и сохраняю данные с самой последней датой вступления в силу.
Таблицы выглядят так:
1.TAX_TABLE---------
tax_id description
1 AZ State
2 AZ-Maricopa Co
4 AZ-Maricopa/Mesa
2.Tax_RATE_TABLE-------
tax_id effective_date tax_percent
1 2015-01-01 00:00:00.000 5.6
2 2015-01-01 00:00:00.000 0.7
4 2015-01-01 00:00:00.000 1.75
4 2019-03-01 00:00:00.000 2
Мой текущий запрос выглядит следующим образом:
use lhsitedb
select t.tax_id, t.description, tr.effective_date, tr.tax_percent
from dbo.tax t
inner join dbo.tax_rate tr on tr.tax_id = t.tax_id
where tr.effective_date = (
select max(tr1.effective_date)
from dbo.tax_rate tr1
where tr1.tax_id = tr.tax_id
Мой вывод получается с этим, где я получаю дробный цифры в процентном столбце tax_tax. Я пытался наложить ограничения на этот столбец, чтобы отображать только десятичные числа, которые могут масштабироваться до сотых долей.
Примечание. Этот запрос прекрасно работает при выполнении в SSMS, однако я использую sqlcmd
и экспортировал этот файл в файл .txt
, в котором производятся эти неожиданные результаты.
tax_id description effective_date tax_percent
--------------------- ------------------------------- ----------------------- ------------------------
4 AZ-Maricopa/Mesa 2019-03-01 00:00:00.000 2
2 AZ-Maricopa Co 2015-01-01 00:00:00.000 0.69999999999999996
1 AZ State 2015-01-01 00:00:00.000 5.5999999999999996
(17 rows affected)
Когда этот столбец должен выглядеть следующим образом:
tax_percent
----------------------------
2
1.75