Как назначить десятичное значение для строки в SQL Server 2012 - PullRequest
1 голос
/ 25 апреля 2019

Я конвертирую формулу из Crystal Reports в Sql View.

Синтаксис SQL, который выдает десятичный вывод, был следующим:

     if {ACCOUNT_INFO.InstitutionIdentifier}="TPOCFBOI" then 1.10 else
     if {ACCOUNT_INFO.InstitutionIdentifier}="TPOBCB"then 0.50 else
     if {ACCOUNT_INFO.InstitutionIdentifier}="TPOCFB"then 0.75 else
     if {INSTITUTION.Region}="WMG" then .01 else
      if {vAM_CRG_LOAN_OFFICER_NAME.LoanOfficerName} ="Margaret S. Smith" 
     then .875

      What would the code look like in a Sql View to produce a decimal (3 
      places)? 





       I tried

    DECLARE 
       @LO_Individual_Comp DECIMAL(18,3),
     BEGIN
     SELECT description INTO LO_Individual_Comp
      FROM {ACCOUNT_INFO}
      WHERE InstitutionIdentifier} = "TPOCFBOI";
       DBMS_OUTPUT.PUT_LINE('1.10' || LO_Individual_Comp;
      END;

       If > Then Sql Equivalent to return a decimal (3 places)

1 Ответ

2 голосов
/ 25 апреля 2019

Вы можете использовать оператор CASE

select
   case 
     when ACCOUNT_INFO.InstitutionIdentifier ='TPOCFBOI' then 1.10 
     when ACCOUNT_INFO.InstitutionIdentifier ='TPOBCB' then 0.50 
     when ACCOUNT_INFO.InstitutionIdentifier ='TPOCFB' then 0.75
     when INSTITUTION.Region = 'WMG' then .01 
     when vAM_CRG_LOAN_OFFICER_NAME.LoanOfficerName ="Margaret S. Smith" then .875 
END as 'Decimal'
from...

Теперь вам не хватает подробностей о том, как будут соединяться ваши таблицы.Похоже, вы пытаетесь сравнить данные из трех разных таблиц (ACCOUNT_INFO, INSTITUTION, vAM_CRG_LOAN_OFFICER_NAME).

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