Обновить значения до отрицательных на основе другого столбца - PullRequest
0 голосов
/ 15 марта 2020

У меня есть таблица, содержащая счета-фактуры и кредит-ноты, которые оба хранятся в таблице как положительные значения.

Я хочу выбрать данные, а в операторе выбора изменить значения кредит-нот на отрицательные. на основе другого столбца.

Есть идеи?

Обновлено с добавленной информацией

Key          Description            Type          Amount
--------------------------------------------------------
1            Invoice for 345         1             200
2            Invoice for 346         1             250
3            Invoice for 347         1             280
4            Credit  for 347         2             200
5            Invoice for 345         1             400
6            Credit note zz665       2             380

Желаемый результат выбора


Key          Description            Type          Amount
--------------------------------------------------------
1            Invoice for 345         1             200
2            Invoice for 346         1             250
3            Invoice for 347         1             280
4            Credit  for 347         2            -200
5            Invoice for 345         1             400
6            Credit note zz665       2            -380

большое спасибо, Я играю с ABS, но я не могу понять точное использование, чтобы получить желаемый результат.

Ответы [ 2 ]

1 голос
/ 15 марта 2020

Просто еще один вариант: choose()

Пример

Select [Key] 
      ,[Description]
      ,[Type]
      ,[Amount] = [Amount]*choose([type],1,-1)
 From  YourTable
0 голосов
/ 15 марта 2020

Я предполагаю, что когда тип = 1, то положительный, а когда тип = 2, то отрицательный. Если тип может содержать больше значений, вам придется изменить оператор case, потому что все, кроме 1, будет отрицательным.

select
  key
, description
, type
, case
   when type = 1 then amount
  else
   amount * -1
  end as amount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...