Пожалуйста, я новичок в T-SQL, и мне было трудно достичь этой цели. Как я могу держать вычитание двух столбцов, чтобы обновить столбец для проведения различия между двумя колонками, начиная с определенной даты на другую дату ..T-SQL для вычитания общего кредита из ежемесячного возврата кредита
0
A
ответ
1
Вы можете использовать Between operator или Datediff function
UPDATE table_name
SET column1 = column2-column3
WHERE dateColumn BETWEEN '01-01-2016' AND '12-31-2016'
0
Вы ищете общая сумма? Это проще сказать, чем сделать, но вам нужно рекурсивно ссылаться на все записи до текущего. Похоже, это:
declare @ledger table (LedgerId int, LedgerDate datetime, Amount decimal(2))
insert into @ledger (LedgerId, LedgerDate, Amount) values
(1, dateadd(hour, -1, getdate()), 1.00),
(2, dateadd(hour, -2, getdate()), 2.00),
(3, dateadd(hour, -3, getdate()), 3.00),
(4, dateadd(hour, -4, getdate()), 4.00),
(5, dateadd(hour, -5, getdate()), 5.00),
(6, dateadd(hour, -6, getdate()), 6.00)
;
declare @startDate datetime = dateadd(hour, -5, getdate()),
@endDate datetime = dateadd(hour, -2, getdate())
;
with orderedByDate as (
select
LedgerId,
LedgerDate,
Amount,
ROW_NUMBER() over (order by LedgerDate desc) rowNum
from @ledger
where LedgerDate between @startDate and @endDate
), runningTotal as (
select
orderedByDate.LedgerId,
max(case when orderedByDate.rowNum = previousValues.rowNum then orderedByDate.LedgerDate else 0 end) LedgerDate,
max(case when orderedByDate.rowNum = previousValues.rowNum then orderedByDate.Amount else 0 end) Amount,
sum(previousValues.Amount) Total
from orderedByDate
inner join orderedByDate previousValues
on orderedByDate.rowNum >= previousValues.rowNum
group by orderedByDate.LedgerId
)
select
LedgerId,
LedgerDate,
Amount,
Total
from runningTotal
Это даст вам что-то вроде:
LedgerId | LedgerDate | Amount | Total
---------|------------|--------|-------
2 |2016-11-03 |2 |2
3 |2016-11-03 |3 |5
4 |2016-11-03 |4 |9
5 |2016-11-03 |5 |14
Смежные вопросы
- 1. php двойной вычитание из бесплатного кредита и регулярного кредита?
- 2. Предоставление кредита для модуля Perl
- 3. Кредита формат номер карты
- 4. Как рассчитать погашение кредита
- 5. Рекурсивный метод расчета кредита
- 6. Проблемы с вычислением общего интереса в программе калькулятора кредита (C++)
- 7. Проблема наличных денег или кредита
- 8. Расчет погашения кредита в C++
- 9. Facebook Реализация кредита не работает
- 10. Соотношение индекса в VBA для диапазонов (поиск баланса кредита с учетом номера кредита и даты)
- 11. Не показывать продукты, которые недостаточно для кредита
- 12. Java моя формула класса кредита возвращает бесконечность
- 13. Как сделать формулу дебетования и кредита
- 14. Формула истечения срока кредита после 1 года
- 15. Mysql сделка по передаче кредита между пользователями
- 16. База данных учета - хранение кредита и дебет?
- 17. Технические аспекты создания нового типа кредита
- 18. Rails: обновить сумму кредита с выплаченной суммой
- 19. Проводка кредита на банковский счет uri
- 20. Magento: добавление кредита магазина сетям клиентов
- 21. кодирования кредита срок погашения формула в Java
- 22. Проектирование структуры таблицы для кредита, расходов, счетов и налогов
- 23. Какой тип нейронной сети лучше всего подходит для оценки кредита?
- 24. Как задержать функцию автозаполнения google для сохранения кредита
- 25. as3/javascript формула кредита для расчета принципа по недельной ставке
- 26. Что такое хороший дизайн схемы для системы получения кредита?
- 27. scala # продление кредита шаблон с параметром типа: issue
- 28. Update loanbook примиряя даты кредита остановки и численность персонала
- 29. Почему проверка кредита позволяет мне сделать два изменчивых заимствования?
- 30. Кто-нибудь получил отличный алгоритм истечения срока кредита?
Можете ли вы быть более конкретным? Просьба привести несколько примеров. Благодаря! – Nikki9696
'UPDATE MyTable SET differenceColumn = column1-column2 WHERE dateColumn> = '01 -01-2016 'AND dateColumn <= '12 -31-2016'' - Возможно, что-то вроде этого. – Santi
, вы можете иметь вычисленный столбец в таблице, или вы можете рассчитать это значение на лету, когда вам это нужно - это будет означать, что если он будет изменен в столбце 1 или столбце2, вам нужно будет обновить столбец разницы – Cato