Нужно сделать группировку в запросе - PullRequest
0 голосов
/ 12 октября 2018

Может кто-нибудь помочь мне с этим запросом? Мне нужно применить группу по u.a и c.d в этом запросе:

SELECT DISTINCT u.a as ID,DECODE(u.b,'ACT','0','1') as STAT,
                c.d AS role,
                NVL(SUBSTR(c.d, 0, INSTR(c.d, '-')-1), c.d) as app,
                SUBSTR(c.d, INSTR(c.d, ':') + 1) AS role 
  FROM dbo.USER u left outer join dbo.CONNECTION c on u.a = c.a

Пример:

У нас есть две таблицы user и connection:

В user данные будут:

id. Stat. 
a1  1    
a2  0

В connection, данные будут:

Id  app.    Role
a1  abc-d.  Read
a3  cde-f.  Write
a1  abc-d   Read

ИтакМне нужно сделать левое внешнее объединение на основе id, а затем агрегировать на основе двух ключей: Id из user и role из connection.

вывод:

ID  stat  APP ROLE
a1   1    abc-d Read
a2   0

1 Ответ

0 голосов
/ 13 октября 2018
SELECT DISTINCT u.a as ID,DECODE(u.b,'ACT','0','1') as STAT,c.d AS 
role,NVL(SUBSTR(c.d, 0, INSTR(c.d, '-')-1), c.d) as app,SUBSTR(c.d, INSTR(c.d, 
':') + 1) as  role FROM user u ,connection c where u.id=c id group by 
u.a,SUBSTR(c.d, INSTR(c.d, ':') + 1)

вы не можете иметь псевдоним столбца в группе по предложению

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...