У меня есть табличный заем со структурой, приведенной ниже:
Ccy | interest1| interest2
GBP | 75 | 95
USD | 30 | 50
У меня есть задание ниже:
Я хочу, чтобы в моей выходной информации был фунт стерлингов только в том случае, если процент 1 + проценты 2 больше 200, а в моей выходной информации - в долларах США, только если процент 1 + проценты 2 больше 50.
Выходные данные должны быть такими, как показано ниже, см. GBP не существует в выходных данных, поскольку сумма процентов составляет всего 170, что ниже 200, а поскольку USD превышает 50, то в выходных данных.
USD
80
Я использовал запрос ниже. Но это также показывает GBP. Я не хочу, чтобы британский фунт был замечен. Должен показывать только доллары США. Потому что GBP не более 200.
with a as (select ccy,(interest1 + interest2) as amount from my_table where
(case when (ccy = 'GBP' and (interest1+interest2) > 200) then 1
when (ccy = 'USD' and (interest1+interest2) > 50) then 1 end) = 1 )
Select * from a
pivot (sum(amount) for ccy in ('GBP' as GBP, 'USD' as USD))