Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Особенность работы group by при left join в Oracle 12c, баг или фича? / 3 сообщений из 3, страница 1 из 1
23.11.2017, 07:57
    #39557998
Особенность работы group by при left join в Oracle 12c, баг или фича?
Добрый день, столнулся со следующей особенностью работы group by при left join в Oracle 12c
Приведу пример:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
create table temp_22112017_inn
as 
select 1 inn from dual
union
select 2 from dual
union
select 3 from dual
/
create table temp_22112017_inn_sum
as 
select 1 inn, 500 summ from dual
union
select 2, 600 summ from dual
union
select 3, 300 summ from dual
/--Ïî÷åìó òóò íå âîçíèêëî îøèáêè, êàê ýòî áûëî â 11ñ
select inn, summ from 
(select a.inn, summ 
from 
  (select distinct inn from temp_22112017_inn) a
   left join (select inn, sum(summ) summ from temp_22112017_inn_sum b group by inn)b on a.inn = b.inn)
group by inn
/
/*
drop table temp_22112017_inn;
drop table temp_22112017_inn_sum;

oracle database 12c enterprise edition release 12.1.0.2.0 - 64bit production
*/



Совершенно не понятно, почему не возникло ошибки при том, что не указан агрегат по summ, как это было в 11с?
При этом выводит похоже просто последнию запись, или откидывает правую часть запроса.

кто может помочь обяъяснить, что это: Баг или фича? Если фича, то не понятно как она работает?
...
Рейтинг: 0 / 0
23.11.2017, 07:59
    #39557999
Особенность работы group by при left join в Oracle 12c, баг или фича?
Нубик-Бобик,

Комментарий не втой кодировке: /--Почему тут не возникло ошибки, как это было в 11с
...
Рейтинг: 0 / 0
23.11.2017, 10:05
    #39558049
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Особенность работы group by при left join в Oracle 12c, баг или фича?
Нубик-Бобик,

бага, дооптимизировались

зи
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 0
PL/SQL Release 12.1.0.2.0 - Production 0
CORE 12.1.0.2.0 Production 0
TNS for Linux: Version 12.1.0.2.0 - Production 0
NLSRTL Version 12.1.0.2.0 - Production

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
with temp_22112017_inn as (
select 1 inn from dual
union
select 2 from dual
union
select 3 from dual)
, temp_22112017_inn_sum as (
select 1 inn, 500 summ from dual
union
select 2, 600 summ from dual
union
select 3, 300 summ from dual
)
select inn, summ from
(select a.inn, summ
from
  (select distinct inn from temp_22112017_inn) a
   left join (select inn, sum(summ) summ from temp_22112017_inn_sum b group by inn)b on a.inn = b.inn)
group by inn
/
ORA-00979: not a GROUP BY expression



....
stax
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Особенность работы group by при left join в Oracle 12c, баг или фича? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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