Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Помогите с запросом  [new]
Bleez
Guest
имеется табл.:
SQL> create table Beez (
2 col1 varchar2(20));

Table created.
SQL> insert into Beez ('A');



SQL> insert into Beez values ('A');
SQL> insert into Beez values ('X');
SQL> insert into Beez values ('B');
SQL> insert into Beez values ('I');
SQL> insert into Beez values ('C');
SQL> insert into Beez values ('X');
SQL> select * from Beez;

COL1 COL2
-------------------- -----------------
A 1
X 2
B 3
I 4
C 5
X 6

6 rows selected.
Нужно что бы запрос вернул col1 в обратном порядке и rownum при этом остался в таком же порядке.
10 авг 06, 16:06    [2988604]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Bleez
Guest
Нужно что бы запрос вернул col1 в обратном порядке и rownum при этом остался в таком же порядке.

точнее col2.
10 авг 06, 16:09    [2988632]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Нич-ч-чего не понял

1. select * from Beez
каким образом получилось 2 колонки

2. в обратном порядке относительно чего

3. rownum присваивается при выполнении запроса
10 авг 06, 16:11    [2988649]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
desc
Guest
select srt, rownum
from (
SELECT srt,  ROWNUM rn 
from (
select 'A' as srt from dual
union all
select 'X' as srt from dual
union all
select 'B' as srt from dual
union all
select 'I' as srt from dual
union all
select 'C' as srt from dual
union all
select 'X' as srt from dual
)order by rn desc
)

10 авг 06, 16:14    [2988674]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
OdinNNM
Member

Откуда:
Сообщений: 12
select t.col1
, rownum as col2
from (select col1
from Beez
order by col1 desc) t
/
10 авг 06, 16:17    [2988694]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10040
2 Bleez: There is no row order in relational databases unless you use ORDER BY. Inserting rows:

SQL> insert into Beez values ('A');
SQL> insert into Beez values ('X');
SQL> insert into Beez values ('B');
SQL> insert into Beez values ('I');
SQL> insert into Beez values ('C');
SQL> insert into Beez values ('X');

does not mean:

SQL> select * from Beez;

will return:

A
X
B
I
C
X

SY.
10 авг 06, 16:18    [2988701]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
OdinNNM
Member

Откуда:
Сообщений: 12
или я не понял вопроса?
10 авг 06, 16:20    [2988717]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10040
OdinNNM
или я не понял вопроса?


It looks like Bleez wants to select rows in order they were inserted, get rownum and then display rows by that rownum in descending order. Again, there is no row order in relational tables, therefore there is no way to select rows in order they were inserted.

SY.
10 авг 06, 16:30    [2988780]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
OdinNNM
Member

Откуда:
Сообщений: 12
2SY: I agree with you
10 авг 06, 16:49    [2988959]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Bleez
Guest
Извините я наверно неправильно объясняю, я имею ввиду как неотсортировать col1 а вернуть его в обратном порядке, при этом рядом расставить col2 в которой будут данные сответствоввать rownum только неотсортировнному....
11 авг 06, 01:32    [2990432]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Sqaimes
Member

Откуда: Украина, Мариуполь
Сообщений: 443
тоесть перевернуть col2 задом на перед, а потом вывести рядом столбец типа rownum только как будто таб. несортировалась? Смысл...., не понятен на что оно....
11 авг 06, 01:35    [2990434]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Bleez
Guest
Sqaimes
тоесть перевернуть col2 задом на перед, а потом вывести рядом столбец типа rownum только как будто таб. несортировалась? Смысл...., не понятен на что оно....

да, именно, так! Смысл есть, поскольку это только часть которая мне нужна, мне интересно как это можно делать....
11 авг 06, 01:40    [2990439]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
contr
Member

Откуда:
Сообщений: 1909
Не очень понятно что именно Вы собираетесь с этого поиметь.
Один недерминированный результат замените другим, только и всего.
Но раз очень хочется:
select col1, rownum col2 from (select col1, rownum rn from beez) order by rn desc
11 авг 06, 01:42    [2990441]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
contr
Member

Откуда:
Сообщений: 1909
Блин, спать пора :)
SQL> select col1, rownum col2
from ( select col1 from beez order by rownum desc
);

COL1       COL2
---- ----------
X             1
C             2
I             3
B             4
X             5
A             6

6 rows selected

SQL> 
11 авг 06, 01:49    [2990445]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Sqaimes
Member

Откуда: Украина, Мариуполь
Сообщений: 443
Оно?
SQL:   select rownum, col1, sum((
  2   select ROWNUM from (
  3  select max(rownum) from dual group by cube(1,1))
  4              where rownum<=1))over(order by rownum desc) "ROWNUM" from Bleez;

    ROWNUM COL1                     ROWNUM
---------- -------------------- ----------
         5 X                             1
         4 I                             2
         3 X                             3
         2 B                             4
         1 A                             5

SQL:   select rownum, col1, sum((
  2    select ROWNUM from (
  3   select max(rownum) from dual group by cube(1,1))
  4      where rownum<=1))over(order by rownum asc ) "ROWNUM" from Bleez;

    ROWNUM COL1                     ROWNUM
---------- -------------------- ----------
         1 A                             1
         2 B                             2
         3 X                             3
         4 I                             4
         5 X                             5

просто неособо понятен вопрос....
11 авг 06, 01:52    [2990451]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
contr
Member

Откуда:
Сообщений: 1909
Sqaimes
Оно?

У меня стойкое ощущение что я не понимаю чего-то очень важного...
Для чего весь этот зоопарк?
11 авг 06, 01:56    [2990454]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Bleez
Guest
To SQAIMES: Спасибо , прикольно! :) то что надо!!!
To contr: Спасибо!! Спокойной ночи :)
Всем спасибо!!!!
11 авг 06, 01:59    [2990456]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить