Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
Добрый день помогите разобраться с остатками История изменения хранится в одной таблице. В таблице есть Кто отдал\Кто принял Для примера: есть 10 яблок = числятся за сотрудником. Далее 4 яблока ушли к другому сотруднику. Итого получаю что за первым числится 6 яблок за 2 числится 4 яблока. Далее второй сотрудник отдает неиспользованное яблоко обратно первому сотруднику. и так можно делать n число раз. Помогите написать запрос по получению актуальных остатков по каждому сотруднику ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2016, 14:11 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
dem59, Требуется: DDL для создания рабочих таблиц (или одной) набор данных для примера ожидаемый результат для этих данных ваши собственные наработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2016, 18:08 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
dem59, история в одной таблице, а начальные 10 как представлены? в общем, sum(unpivot union остаток) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2016, 18:10 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
p2., не union остаток, а начаток. вместо юнион, если начаток задается костантой, можно просто условно добавить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2016, 18:13 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
p2.p2., не union остаток, а начаток. вместо юнион, если начаток задается костантой, можно просто условно добавить. если всё кака бычна, то начальные остатки -- просто первая запись (по группе) в той же таблице движений, максимум -- выделенная статусом или абсолютно прошлым временем. т.ч. за всё про всё достаточно всего--то группировки. а для скользящих остатков -- окна. послать студента изучать групп бай -- достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2016, 23:00 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
qwwq, правда там у него вроде (шары мутные, плохо вижу) полные проводки дебет/кредит, а не движения (т.е. полупроводки) -- тогда надо это аккуратно учесть юнионом дебетов с кредитами. с учетом знаков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2016, 23:06 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
вам остатки лучше организовать в таком виде, иначе потом будут большие тормоза, когда у вас записей наберется на несколько лет иметь таблицу реальных остатков после всех движений за все время и иметь таблицу движений смысл такой что когда вы одному сотруднику даете 10 яблок, не важно в какой период времени, вы в таблицу остатков делаете update текущее_количество = текущее_количество + 10 where сотрудник = 'первый' в таблицу движения insert записи: Дата, Сотрудник, Приход_Расход '2016-10-01', 'первый', 10 если от первого передаете второму 4 яблока то в таком случае остатки: update текущее_количество = текущее_количество - 4 where сотрудник = 'первый' update текущее_количество = текущее_количество + 4 where сотрудник = 'второй' (апдейт или инсерт определяете сами, есть ли записи или нет) insert движение (Дата, Сотрудник, ИД документа сделавшего движение, Приход_Расход) values ('2016-10-31', 'первый', 123, -4), ('2016-10-31', 'второй', 123, 4) по ИД документа видно что это одна операция таким образом, что бы расчитать остаток на определенную дату вы из реального остатка вычитаете весь приход, и прибавляете весь расход (грубо говоря ОСТАТОК - ПРИХОД_РАСХОД) за период [дата на начало которой вы смотрите остаток; по бесконечность). будет быстро работать для выяснения остатков за последние периоды, что бы узнать остаток допустим на начало 2013 года, будет слишком много расчетов, поэтому можно организовать еще контрольные точки для хранения промежуточных остатков (эти промежуточные остатки пересчитывать только в том случае если было движение до этих контрольных точек). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 12:50 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
Legushka, Чёт прям классическая схема банковских счетов, со счетами, проводками и закрытием дня ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 13:44 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
vyegorov, использовал ранее в сальдово оборотных ведомостях когда работал с бух/складским/товарным учетом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 15:42 |
|
||
|
Помогите посчитать актуальные остатки остатки
|
|||
|---|---|---|---|
|
#18+
Legushkaвам остатки лучше организовать в таком виде, иначе потом будут большие тормоза, когда у вас записей наберется на несколько лет >>>блабла бла . это вообще то спорный момент. упирается в объёмы движений и частоту срезов остатков. легко можно зафигачить таблицу остатков более объёмную, чем саму таблицу движений. и тягать её как чемодан без ручки, при вполне небольших для прямой агрегации объёмах движения. ну и при наличии движений, обнаруживаемых задним числом (что иногда в природе случается, и часто -- чаще чем хотелось бы), пересчитывать все остатки от начала эры -- не самое приятное занятие. тормозящее всё колом. (таки тянет на апдейт всей таблицы одной транзакцией) а самое смешное -- ТС о том, как лучше ему что-то там организовать не спрашивал. он спрашивал как обсчитать таблицу движений, устроенных как двойная булгактерская запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=83&tid=1996913]: |
0ms |
get settings: |
13ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 284ms |
| total: | 441ms |

| 0 / 0 |
