Просмотр сальдовых и текущих остатков
Модераторы: m0p3e, edward_K, Модераторы
Просмотр сальдовых и текущих остатков
Добрый день!
Мне необходимо написать запрос в PL/SQL Developer с целью получить список МЦ, у которых есть сальдовые \ текущие остатки. Каким образом мне это сделать? Не совсем понимаю структуру таблицы saldomc. Чтобы получить список МЦ, у которых есть сальдовые остатки, необходимо добавлять условие на дату (текущую дату dsaldo) или смотреть последнюю по дате строку таблицы и сравнивать количество с нулем?
Заранее спасибо за помощь.
Мне необходимо написать запрос в PL/SQL Developer с целью получить список МЦ, у которых есть сальдовые \ текущие остатки. Каким образом мне это сделать? Не совсем понимаю структуру таблицы saldomc. Чтобы получить список МЦ, у которых есть сальдовые остатки, необходимо добавлять условие на дату (текущую дату dsaldo) или смотреть последнюю по дате строку таблицы и сравнивать количество с нулем?
Заранее спасибо за помощь.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Просмотр сальдовых и текущих остатков
http://tyumbit.ru/gal_forum/viewtopic.p ... 8&start=30
имхо, оптимально через OVER - аналитическую. Она в PLSQL вроде тоже есть. Я по линку приводил пример для TSQL
имхо, оптимально через OVER - аналитическую. Она в PLSQL вроде тоже есть. Я по линку приводил пример для TSQL
Re: Просмотр сальдовых и текущих остатков
Я не очень понимаю саму логику. Вопрос о скорости пока не стоит. Каким образом мне посмотреть сальдовые остатки на текущую дату? Для этого надо для каждой МЦ находить последнюю по дате и времени запись в saldomc и чтобы количество остатков было не равно нулю? Или я ошибаюсь?
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Просмотр сальдовых и текущих остатков
вроде того..
+ учитывать нужно что остатки лежат saldomc на разрез мц+подр+мол+партия
+ учитывать нужно что остатки лежат saldomc на разрез мц+подр+мол+партия
Re: Просмотр сальдовых и текущих остатков
Тогда каким образом мне найти последнюю по времени запись в таблице для каждой мц? И как учесть этот "разрез"? На что он влияет в случае, когда мне надо получить список МЦ, у которых есть остатки вне зависимости от мола-склада и т.д.?
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Просмотр сальдовых и текущих остатков
не совсем понятно что не понятно.
dsaldo - дата остатков
CMC-CPODR-CMOL-CPARTY разрез
получаете на последнюю даты разрезы ненулевые по KOL, далее группируйте как Вам нужно
dsaldo - дата остатков
CMC-CPODR-CMOL-CPARTY разрез
получаете на последнюю даты разрезы ненулевые по KOL, далее группируйте как Вам нужно
Re: Просмотр сальдовых и текущих остатков
Объясню на примере.
Для условного МЦ в таблице saldomc есть n строк с разными датами и кол-вом:
строка 1 - cmc 1, dsaldo 1, kol 1, ...
строка 2 - cmc 1, dsaldo 2, kol 2, ...
строка 3 - cmc 1, dsaldo 3, kol 3, ...
строка 4 - cmc 1, dsaldo 4, kol 4, ...
... и т.д.
Как мне в запросе выбрать строку с последними датой-временем (например, это строка 4, в которой dsaldo 4 > dsaldo (с 1 по n, где n - кол-во строк в таблице saldomc для данной МЦ)), чтобы сравнить по kol с нулем? Возможно вопрос глупый, но опыта в установке таких условий в запросах PLSQL у меня мало.
Т.е. запрос должен выбрать из всех строк для каждой МЦ последнюю по времени. Если я правильно понимаю структуру saldomc.
Для условного МЦ в таблице saldomc есть n строк с разными датами и кол-вом:
строка 1 - cmc 1, dsaldo 1, kol 1, ...
строка 2 - cmc 1, dsaldo 2, kol 2, ...
строка 3 - cmc 1, dsaldo 3, kol 3, ...
строка 4 - cmc 1, dsaldo 4, kol 4, ...
... и т.д.
Как мне в запросе выбрать строку с последними датой-временем (например, это строка 4, в которой dsaldo 4 > dsaldo (с 1 по n, где n - кол-во строк в таблице saldomc для данной МЦ)), чтобы сравнить по kol с нулем? Возможно вопрос глупый, но опыта в установке таких условий в запросах PLSQL у меня мало.
Т.е. запрос должен выбрать из всех строк для каждой МЦ последнюю по времени. Если я правильно понимаю структуру saldomc.
Den писал(а):не совсем понятно что не понятно.
dsaldo - дата остатков
CMC-CPODR-CMOL-CPARTY разрез
получаете на последнюю даты разрезы ненулевые по KOL, далее группируйте как Вам нужно
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Просмотр сальдовых и текущих остатков
Ой, это Вам быстрее всего тогда куда то сюда :
http://www.sql.ru/forum/oracle
Тут не совсем форум по Оракловому SQL все же
http://www.sql.ru/forum/oracle
Тут не совсем форум по Оракловому SQL все же
Re: Просмотр сальдовых и текущих остатков
Как-то так:
Это общий случай для оракла.
Код: Выделить всё
select saldomc.fnrec from gal.saldomc where saldomc.fdsaldo = (select max(saldomc_last.fdsaldo) from gal.saldomc saldomc_last where saldomc_last.fcmc = saldomc.fcmc );
Re: Просмотр сальдовых и текущих остатков
Спасибо. То, что нужно!
m0p3e писал(а):Как-то так:Это общий случай для оракла.Код: Выделить всё
select saldomc.fnrec from gal.saldomc where saldomc.fdsaldo = (select max(saldomc_last.fdsaldo) from gal.saldomc saldomc_last where saldomc_last.fcmc = saldomc.fcmc );