Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Есть таблица транзакций такого вида: CAccountId, -- приход DAccountId, -- расход Amount, -- сумма Date -- дата Нужно подсчитать баланс за определённый период. Написал такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. И сомневаюсь, верен ли он. А если не верен, то как правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 08:33 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
CAccountId, -- приход DAccountId, -- расход JOIN [Transactions] AS st ON dt.DAccountId = ct.CAccountId Сравниваете приход с расходом. Сильно, но непонятно. GROUP BY dt.DAccountId, ct.CAccountId Потом группируете по полям, которые у вас должны быть одинаковые. Сильно, но непонятно. Предлагаю вам начать с описания задачи по русски. Типа Я хочу выбрать ... из таблицы ... с условием ... При расчете балансов удобно думать о расходе, как отрицательном значении при суммировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 09:46 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 11:55 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Kopelly, ну и NULL обработать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 12:02 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
+ GROUP BY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 12:03 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Abejon, А почему бы вот так не написать? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 12:17 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, авторСравниваете приход с расходом. Сильно, но непонятно. Это номер счёта. По одному и тому же счёту может быть и приход, и расход. авторПотом группируете по полям, которые у вас должны быть одинаковые. Сильно, но непонятно. - это да, одна группировка лишняя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:12 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
a_voronin, да, интересный вариант. А мой вариант с JOIN'ами - нерабочий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:15 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Abejona_voronin, да, интересный вариант. А мой вариант с JOIN'ами - нерабочий? у вас выпадут обороты если не было обоих движений по счёту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:21 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Abejon, все запросы не рабочие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:21 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Asic, почему?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:35 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
TaPaKAbejona_voronin, да, интересный вариант. А мой вариант с JOIN'ами - нерабочий? у вас выпадут обороты если не было обоих движений по счёту нужно использовать OUTER JOIN ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:38 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Abejon, сервер будет возвращать ошибку. Обратите внимание на алиасы таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:46 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Asic, это Вы про st и ct? Спасибо, это очепятка у меня. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:51 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Abejona_voronin, да, интересный вариант. А мой вариант с JOIN'ами - нерабочий? Он не оптимальный по производительности. Вам нужен агрегат, а не JOIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 16:35 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
AbejonPizzaPizza, авторСравниваете приход с расходом. Сильно, но непонятно. Это номер счёта. По одному и тому же счёту может быть и приход, и расход. Хорошо бы видеть структуру таблицы, а то у меня создается впечатление, что у вас номер счета записывается в разные колонки в зависимости от вида транзакции, а это, однако, странная была бы затея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 19:50 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
a_voronin, ругается на GROUP BY - говорит, синтаксическая ошибка и что после него ждет "AS, ID or QUOTED_ID" Меня смущает, что группировка по результирующему столбцу, а не по одному из обрабатываемых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 12:44 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Abejon, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 12:50 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Kopelly,не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 13:02 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Kopelly,что "a" даёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 13:05 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
AbejonKopelly,что "a" даёт?Это alias (то же самое, что написать "as a") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 13:06 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, спасибо, это я понял, что это меняет? Ошибка, действительно, ушла, но почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 13:13 |
|
||
|
Как посчитать баланс за период
|
|||
|---|---|---|---|
|
#18+
AbejonГавриленко Сергей Алексеевич, спасибо, это я понял, что это меняет? Ошибка, действительно, ушла, но почему? вам тоже запрещено msdn читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39762332&tid=1688419]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 382ms |

| 0 / 0 |
