Объединить две колонки как дату в sql - PullRequest
0 голосов
/ 27 февраля 2020

В настоящее время я работаю с отчетом через Microsoft Query и столкнулся с этой проблемой, когда мне нужно вычислить общую сумму денег за прошедший год.

Таблица выглядит следующим образом:

Item Number | Month | Year | Amount |
...........PAST YEARS DATA...........
  12345     |   1   | 2019 |   10   |
  12345     |   2   | 2019 |   20   |
  12345     |   3   | 2019 |   15   |
  12345     |   4   | 2019 |   12   |
  12345     |   5   | 2019 |   11   |
  12345     |   6   | 2019 |   12   |
  12345     |   7   | 2019 |   12   |
  12345     |   8   | 2019 |   10   |
  12345     |   9   | 2019 |   10   |
  12345     |   10  | 2019 |   10   |
  12345     |   11  | 2019 |   10   |
  12345     |   12  | 2019 |   10   |
  12345     |   1   | 2020 |   10   |
  12345     |   2   | 2020 |   10   |

Как бы вы рассчитали общую сумму с 02-2019 по 02-2020 для номера позиции 12345?

Ответы [ 2 ]

3 голосов
/ 27 февраля 2020

Предполагая, что вы используете SQL Сервер, вы можете воссоздать date с datefromparts() и использовать его для фильтрации:

select sum(amount)
from mytable
where 
    itemnumber = 12345
    and datefromparts(year, month, 1) >= '20190201'
    and datefromparts(year, month, 1) < '20200301'
0 голосов
/ 27 февраля 2020

Вы можете использовать это также

 SELECT sum(amount) as Amount
 FROM YEARDATA
 WHERE ( Month >=2 and year = '2019')
 or ( Month <=2 and year = '2020')
 and ItemNumber = '12345'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...