|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
Имеется таблица Дек Ост_начало Расх Ост_конец 2.........10...........-5.........5 3..........5............-8........-3 4..........-3..........-5.........-8 5..........-8...........-2.......-10 Нужно получить таблицу Дек Ост_начало Расх Ост_конец Необходимо поставить 2.........10...........-5.........5................-3 3..........5............-8........-3..............-5 4..........-3..........-5.........-8..............-2 Таким образом нужно получить по сути столбец "Необходимо поставить", его суть заключается в том, что поставка осуществляется за декаду (то есть ранее декады, в которой имеется отрицательный остаток на конец периода). Также важно, чтобы сумма доп.поставки шла не накопительным характером (в отличие от остатка), а только в размере необходимой дополнительной поставки к конкретной декаде. Если у кого есть мысли пишите:) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 14:03 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
попробуй вот так select t1.Дек, t1.Ост_начало, t1.Расх, t1.Ост_конец , iif(t2.Ост_конец < 0,iif(t1.Ост_конец <0, t1.Ост_конец,0) - t2.Ост_конец ,0 ) as [Необходимо поставить] from таблица as t1 inner join таблица as t2 on t1.Дек = (t2.Дек+1) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 15:19 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
Denche, а что ты имел в виду под следующим "from таблица as t1 inner join таблица as t2 "? что означает "таблица"? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 15:37 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
Ты писал "Имеется таблица" Вот таблица и имеется в виду. Он хотел сказать линкуем таблицу к самой себе - распространенный прием между прочим! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 15:38 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
спасибо mahoune, я уже додумался ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 15:46 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
Не пойму пока в чем ошибка, Denche, но у меня получился следующий результат (неверный соответственно). Дек Ост_начало Расх Ост_конец Необходимо поставить 3.........5...........-8..........-3................0 4.........-3............-5........-8..............-5 5..........-8..........-2.........-10..............-2 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 15:53 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
Все понял, нужно было вместо (t2.Дек+1) поставить (t2.Дек-1) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 15:56 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
Еще вопрос, в новой таблице получается сдвиг декад на одну назад, а мне нужно, чтобы последняя декада присутствовала с результатом 0 (так как я затем объединяю несколько таблиц в одну). Как это сделать, кто-нибудь знает? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 16:24 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
используй -1 :) Итоговый запрос давай! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 16:28 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
Не понял, у меня запрос: select t1.Дек, t1.Ост_начало, t1.Расх, t1.Ост_конец , iif(t2.Ост_конец < 0,iif(t1.Ост_конец <0, t1.Ост_конец,0) - t2.Ост_конец ,0 ) as [Необходимо поставить] from таблица as t1 inner join таблица as t2 on t1.Дек = (t2.Дек-1) В результате него получается таблица: Дек Ост_начало Расх Ост_конец Необходимо поставить 2.........10...........-5.........5................-3 3..........5............-8........-3..............-5 4..........-3..........-5.........-8..............-2 А я хочу получить: Дек Ост_начало Расх Ост_конец Необходимо поставить 2.........10...........-5.........5................-3 3..........5............-8........-3..............-5 4..........-3..........-5.........-8..............-2 5..........-8...........-2.......-10..............0 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 17:16 |
|
Запрос в ACCESS
|
|||
---|---|---|---|
#18+
возьми вместо inner join left join ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2002, 17:21 |
|
|
start [/forum/topic.php?fid=45&msg=32065388&tid=1682993]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 311ms |
total: | 553ms |
0 / 0 |