Sql Запрос к серверу для получения результата - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть схема таблицы следующим образом

id    pid   amount   drcr    residce  
1     33    1000         1        55  
2     32    2000         2        44  
3     33    1500         2        54

Здесь я хочу вычислить сумму с помощью drcr возвращает значение, значение которого больше для ex. здесь 1500 > 100, поэтому он должен вернуть total = 500, drcr = 2 для pid = 33 Я пробовал поискать в Google, но не получил никакого представления.

1 Ответ

0 голосов
/ 20 апреля 2020

Я думаю, вы ищете условную агрегацию как

SELECT pid, SUM(CASE WHEN drcr = 2 THEN Amount ELSE -Amount END) 
FROM
(
  VALUES
  (1,     33,    1000,         1,        55),  
  (2,     32,    2000,         2,        44),  
  (3,     33,    1500,         2,        54)
) T(id, pid, amount, drcr, residce)
GROUP BY pid

Вот дБ <> скрипка

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