Как это сделать. Я попробовал случай заявление, но проблемы заставить его работатьЕсли после этого заявление изменить существующий столбец
if Tax_or_Flat = 'tax' then flat = 0
Tax_or_Flat
является название колонки
flata
является заголовок колонки
возможно
,CASE WHEN Tax_or_Flat = 'tax' THEN Flata = 0 ELSE Tax_or_Flat END
но то не работает
select
a.time_amt as Amt_Day
,a.rate_mix as AVG_Day_Rate
,a.psbdats as Poss_Days_Bil_Ins
,a.acct as Bill_to_Amount
,a.LGCY_AUTH_AMT_TXT as Auth_Amt
,case when Auth_Amt LIKE '%TAX%' then 'tax'
when Auth_Amt LIKE '%DAY%' then 'flat'
else 0
end as Tax_or_Flat
,((Amt_Day - AVG_Day_Rate) * Poss_Days_Bil_Ins) as Tax
,((Amt_Day * Poss_Days_Bil_Ins) - Bill_to_Amount) aS Flat
from JTable.Loan a
where a.rate_mix = 5
Не используется Teradata, но опасно предположить, что вы не можете назначить в CASE. Итак, в первом ТОЛЬКО у вас есть Flat = 0 ELSE .... Я бы удалил Flat = и просто получил THEN 0. – Andez
Является ли 'flata' уже существующим столбец или тот, который вы хотите создать с помощью этого запроса? –
Но разве это не изменит столбец Tax_or_Flat? То, что я пытаюсь сделать (не обязательно с аргументом case), это если столбец Tax_or_flat = 'tax', то clange текущее значение в столбце Flat to zero. Есть лучший способ сделать это? – Matt