powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выборка значений по максимальной дате
10 сообщений из 60, страница 3 из 3
Выборка значений по максимальной дате
    #39665226
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845,

Просто интересно. Откуда столь мнемоничные названия полей "F14745602", "F14286862"?
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665234
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Egoр,

Система наподобие 1С, названия полей формирует сама.
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665238
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845Egoр,

Система наподобие 1С, названия полей формирует сама.
Умно. Хитро. 8-|
Имхо, лучше не использовать свои SQL-запросы в системе с такими названиями полей.
Подозреваю, что тут имена подвержены изменению. Причем без оповещения со стороны системы.
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665250
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Egoр,

Не, вроде пока не было инцидентов, а данные выгружать надо.

Ужасная система на самом деле, в некоторые таблицы добавлено по 800 столбцов, разработчики добавляли для всех клиентов учитывая все пожелания, в итоге понятно, что мы большую часть не используем, но размеры таблиц...
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665285
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845поняла, но по сути он не совсем корректен, могут попасть не те данные, если дата у двух акций одна и та же (что маловероятно), прочие данные будут путаться как попало, а хотелось бы брать данные точно по ид документа у которого дата ближайшая и ид меньше, наверное так.

Добавить туда DD.ID и сделать order by DD.ID

Или за одну и ту же дату сказать сами дураки и ничего не делать...

непонятно что есть "дата ближайшая и ид меньше"
возможно Вам надо
Код: plsql
1.
2.
3.
4.
select * from
 (select ...
    ,row_number() over (partition by id order by dat ) rn 
 ) where rn=1



ps
c "сами дураки и ничего не делать" долго не протянете

.....
stax
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665303
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну к примеру есть акция, которая начинается сегодня, есть акция, которая начинается завтра, из двух должен выбрать сегодняшнюю.

Если так получится, что на этот товар на сегодня заведут две разных акции с одинаковой датой начала, то хотя бы взять ту, которую завели раньше, чтобы все прочие данные в строке прошли по тому же ID, а не получилось что это значение от одного документа, это от второго.
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665370
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845Ну к примеру есть акция, которая начинается сегодня, есть акция, которая начинается завтра, из двух должен выбрать сегодняшнюю.

Если так получится, что на этот товар на сегодня заведут две разных акции с одинаковой датой начала, то хотя бы взять ту, которую завели раньше, чтобы все прочие данные в строке прошли по тому же ID, а не получилось что это значение от одного документа, это от второго.
с мін/мах у Вас так и получится
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  1  with t (id,shara,dat,percent) as (
  2  select 1,1001,date '2018-06-25',7 from dual union all
  3  select 1,1002,date '2018-07-01',5 from dual union all
  4  select 2,2002,date '2018-06-21',3 from dual)
  5  select id,min(shara),min(dat) dat, min(percent) percent
  6  from t
  7* group by id
SQL> /

        ID MIN(SHARA) DAT         PERCENT
---------- ---------- -------- ----------
         1       1001 25.06.18          5
         2       2002 21.06.18          3




1) row_number
2) keep last/first
3) dat=(select min(dat) from t t2 where t2.id=t.id)
4) ...

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL> ed
Wrote file afiedt.buf

  1  with t (id,shara,dat,percent) as (
  2  select 1,1001,date '2018-06-25',7 from dual union all
  3  select 1,1002,date '2018-07-01',5 from dual union all
  4  select 2,2002,date '2018-06-21',3 from dual)
  5  select * from (
  6  select id,shara,dat, percent
  7    ,row_number() over (partition by id order by dat) rn
  8  from t)
  9* where rn=1
SQL> /

        ID      SHARA DAT         PERCENT         RN
---------- ---------- -------- ---------- ----------
         1       1001 25.06.18          7          1
         2       2002 21.06.18          3          1

SQL>



ps
допускаю что и ник Вам система сгеннерила

....
stax
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665575
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ник от чата остался, забыла как их были чаты такие с викторинами еще, не аська а параллельно с ней. Ирц.
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665576
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Что то в этом есть, а с другой стороны если взять данные, упорядочить по дате, ид, и потом взять ферст, то по идее кругом эти данные будут принадлежать одной и той же записи ид.
...
Рейтинг: 0 / 0
Выборка значений по максимальной дате
    #39665718
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845Stax,

Что то в этом есть, а с другой стороны если взять данные, упорядочить по дате, ид, и потом взять ферст, то по идее кругом эти данные будут принадлежать одной и той же записи ид.

как будете брать ферст?

.....
stax
...
Рейтинг: 0 / 0
10 сообщений из 60, страница 3 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выборка значений по максимальной дате
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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