БД - SQL Server 201x
Раздел кода ниже представляет собой измененное извлечение из тестового инструмента
У меня такой вопрос: насколько разумно во время выполнения выполнять те же самые секции ROUND (SUM (...))
Выполняет ли он первое вхождение и использует результат для последующих вхождений или выполняет его несколько раз.
Есть ли более разумный способ сделать это в SQL Server
select
person.Name 'Name',
account.AccountCode 'Account Code',
ROUND(SUM(account.basevalue + account.accuredInteres), 2) 'Account Total'
case
when ROUND(SUM(account.basevalue + account.accuredInteres), 2) = ROUND(CAST(audit_data.total as decimal(21,6)), 2) then 'MATCH'
when
ROUND(SUM(account.basevalue + account.accuredInteres), 2) <= ROUND(CAST(audit_data.total as decimal(21,6)), 2) * 1.01 AND
ROUND(SUM(faccount.basevalue + account.accuredInteres), 2) >= ROUND(CAST(audit_data.total as decimal(21,6)), 2) * 0.99
then 'IN TOLERENCE'
else 'NOT MATCHING' END 'Values Equal ?'
from
----
----
where
----