Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » SQL запрос

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Mic777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
with  
  a as (
    select 1 "id", 1 dt, 1 val from dual
      union
    select 2 "id", 2 dt, 2 val from dual
      union
    select 1 "id", 2 dt, 3 val from dual
      union
    select 3 "id", null dt, 4 val from dual
      union
    select 4 "id", 4 dt, null val from dual
  ),  
 
  b as (
    select a."id", max(a.dt) dt
      from a
     group by a."id"
  )
 
select a.*
  from a
  join b on a."id" = b."id"
   and (a.dt = b.dt or b.dt is null)
 

Это если без всяких аналитических функций и если я правильно понял условие

Всего записей: 90 | Зарегистр. 15-12-2005 | Отправлено: 15:01 24-02-2015
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » SQL запрос


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru