Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сортировка строк 
V
    Опции темы
lynx13
Дата 20.5.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



есть таблица
----------------------------------------------------------------------------------------------------------------
код организации| название  организации| идентификационный номер| актуальность      порядок 
-----------------------------------------------------------------------------------------------------------------
3                             банк                                                   5                                        33                1
-----------------------------------------------------------------------------------------------------------------
3                             белросбанк                                          3                                     55                  3
-----------------------------------------------------------------------------------------------------------------
3                             ОАО белросбанк                                  33                                      3                 2
-----------------------------------------------------------------------------------------------------------------
3                              ОАО Белросбанк                                 55                                      70              4
-----------------------------------------------------------------------------------------------------------------
3                              ОАО "Белросбанк"                             60                                   50                   6
-----------------------------------------------------------------------------------------------------------------
3                              ОАО "Белросбанк"                               70                               60                     5
-----------------------------------------------------------------------------------------------------------------
3                              "Белросбанк"  ОАО                             50                                -1                      7
-----------------------------------------------------------------------------------------------------------------
3
-----------------------------------------------------------------------------------------------------------------
4
-----------------------------------------------------------------------------------------------------------------
4
-----------------------------------------------------------------------------------------------------------------
4
-----------------------------------------------------------------------------------------------------------------

рассмотрим в пределах одного кода организации..
в базе хранится история изменения организации...актуальное название имеет актуальность  -1
как только произошли изменения - актуальности присваеивается идентификационный номер новой записи например  3   "Белросбанк"  ОАО        50   80 и появится новая запись
                              3     "Белросбанк"  ООО    80   -1

таким образом можно проследить историю изменения...
но суть в том что таблицу нельзя отсортировать по полю индентификационного номера т. к . записи появившиеся позже могут иметь номер меньше чем предыдущая...

Вопрос:как отсартировать эти стороки по порядку??? 

Спасибо!!
PM MAIL   Вверх
Zloxa
Дата 21.5.2010, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Код

SQL> with t as (
  2    select 'банк' name, 5 id, 33 next_id, 1 src_order from dual
  3    union all select 'белросбанк', 3, 55,3 from dual
  4    union all select 'ОАО белросбанк', 33 , 3, 2 from dual
  5    union all select 'ОАО Белросбанк',55,70 , 4 from dual
  6    union all select 'ОАО "Белросбанк"',60 ,50 ,6 from dual
  7    union all select 'ОАО "Белросбанк"',70, 60, 5 from dual
  8    union all select '"Белросбанк"ОАО',50,-1, 7 from dual
  9  )
 10  select
 11    name
 12    ,id
 13    ,next_id
 14    ,src_order
 15  from (
 16    select
 17      t.*
 18      ,rownum rn
 19    from t
 20    start with next_id = -1
 21    connect by next_id = prior id
 22  )
 23  order by rn desc
 24  ;
 
NAME                     ID     NEXT_ID  SRC_ORDER
---------------- ---------- ---------- ----------
банк                      5         33          1
ОАО белросбанк           33          3          2
белросбанк                3         55          3
ОАО Белросбанк           55         70          4
ОАО "Белросбанк"         70         60          5
ОАО "Белросбанк"         60         50          6
"Белросбанк"ОАО          50         -1          7
 
7 rows selected
 
SQL> 


Это сообщение отредактировал(а) Zloxa - 21.5.2010, 09:24


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
lynx13
Дата 21.5.2010, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Спасибо!!!...правда столбца порядок вообще нет ...
PM MAIL   Вверх
Zloxa
Дата 21.5.2010, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Цитата(lynx13 @  21.5.2010,  09:59 Найти цитируемый пост)
 столбца порядок вообще нет

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


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.