Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сортировка в подзапросе / 9 сообщений из 9, страница 1 из 1
09.07.2018, 10:26
    #39671452
elimpion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
Добрый день, подскажите почему не работает сортировка в подзапросе
Код: plsql
1.
2.
3.
4.
5.
select level, m.Merchantid Id, (select m.Merchant || ' ' || m.regname as Val from BrsMerchants m order by Val), 0 defaultVal
from Merchants m, Merchants mm 
where m.Merchantid(+)=mm.Merchantid
connect by prior (m.Merchantid)=mm.ParentMerchantid
start with m.Merchantid=mm.Merchantid


возникает ошибка что отсутствует правая скобка
...
Рейтинг: 0 / 0
09.07.2018, 10:28
    #39671455
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
Потому что подзапрос скалярный. А одно значение не имеет смысла сортировать.
...
Рейтинг: 0 / 0
09.07.2018, 10:41
    #39671473
IMNO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
1. В таблице BrsMerchants находится только одна строка.
Если бы там было множество строк, то запрос выдал бы ошибку ORA-01427.

2. Попробуй переписать подзапрос на коррелирующий подзапрос.
...
Рейтинг: 0 / 0
09.07.2018, 10:45
    #39671478
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
IMNO1. В таблице BrsMerchants находится только одна строка.
Если бы там было множество строк, то запрос выдал бы ошибку ORA-01427.То есть выполнение SQL-запроса происходит раньше парса?
...
Рейтинг: 0 / 0
09.07.2018, 11:08
    #39671495
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
IMNO1. В таблице BrsMerchants находится только одна строка.
Если бы там было множество строк, то запрос выдал бы ошибку ORA-01427.


не слетит по ошибке ORA-01427, оракля не допускает саму кляузу order by в етой конструкции

Код: plsql
1.
2.
3.
4.
5.
6.
SQL> select d.deptno,(select e.ename||' '||d.dname from emp e order by e.empno) ed from dept d
  2  /
select d.deptno,(select e.ename||' '||d.dname from emp e order by e.empno) ed from dept d
                                                         *
ERROR at line 1:
ORA-00907: missing right parenthesis



зы
у elimpion запрос(схема запроса) странный, мне непонятно что он хочет получить

.....
stax
...
Рейтинг: 0 / 0
09.07.2018, 11:19
    #39671499
merch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
AmKad, подразумеваю, IMNO хотел сказать, что сортировать 1 значение нет смысла, а в случае нескольких в подзапросе - он получил бы ORA-01427.
Вроде как и order by незачем пытаться влепить.
...
Рейтинг: 0 / 0
09.07.2018, 11:36
    #39671512
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
merchAmKad, подразумеваю, IMNO хотел сказать, что сортировать 1 значение нет смысла, а в случае нескольких в подзапросе - он получил бы ORA-01427.
Вроде как и order by незачем пытаться влепить.
зачем лепить, другой вопрос
я считаю что оракля синтаксически не допускает кляузу order by в етом месте
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  1  declare
  2   z_c number;
  3   z_s varchar2(32000) :=
  4  'select d.deptno,(select e.ename||'' ''||d.dname from emp e order by e.empno) ed from dept d'
  5  ;
  6  begin
  7   z_c:=dbms_sql.open_cursor;
  8   dbms_sql.parse(z_c,z_s,2);
  9   dbms_sql.close_cursor(z_c);
 10* end;
SQL> /
declare
*
ERROR at line 1:
ORA-00907: missing right parenthesis
ORA-06512: at "SYS.DBMS_SQL", line 1199
ORA-06512: at line 8



......
stax
...
Рейтинг: 0 / 0
09.07.2018, 11:43
    #39671514
merch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
Stax, мы о разных вещах.
...
Рейтинг: 0 / 0
09.07.2018, 18:24
    #39671767
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в подзапросе
merchAmKad, подразумеваю, IMNO хотел сказать, что сортировать 1 значение нет смыслаИзвини, невнимательный стал - мне показалось, что это сказал Elic.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сортировка в подзапросе / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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