powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос в ACCESS
12 сообщений из 12, страница 1 из 1
Запрос в ACCESS
    #32065388
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется таблица
Дек Ост_начало Расх Ост_конец
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

Таким образом нужно получить по сути столбец "Необходимо поставить", его суть заключается в том, что поставка осуществляется за декаду (то есть ранее декады, в которой имеется отрицательный остаток на конец периода). Также важно, чтобы сумма доп.поставки шла не накопительным характером (в отличие от остатка), а только в размере необходимой дополнительной поставки к конкретной декаде.
Если у кого есть мысли пишите:)
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065444
denche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй вот так

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)
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065459
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denche, а что ты имел в виду под следующим
"from таблица as t1
inner join таблица as t2 "?
что означает "таблица"?
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065461
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты писал "Имеется таблица"

Вот таблица и имеется в виду. Он хотел сказать линкуем таблицу к самой себе - распространенный прием между прочим!
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065466
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо mahoune,
я уже додумался
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065473
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не пойму пока в чем ошибка, Denche, но у меня получился следующий результат (неверный соответственно).
Дек Ост_начало Расх Ост_конец Необходимо поставить
3.........5...........-8..........-3................0
4.........-3............-5........-8..............-5
5..........-8..........-2.........-10..............-2
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065476
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все понял,
нужно было вместо (t2.Дек+1) поставить (t2.Дек-1)
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065497
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос,
в новой таблице получается сдвиг декад на одну назад, а мне нужно, чтобы последняя декада присутствовала с результатом 0 (так как я затем объединяю несколько таблиц в одну). Как это сделать, кто-нибудь знает?
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065499
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используй -1
:)

Итоговый запрос давай!
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065544
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял, у меня запрос:
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
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065549
denche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возьми вместо inner join left join
...
Рейтинг: 0 / 0
Запрос в ACCESS
    #32065568
Sanchez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос в ACCESS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]