group by com subselect

02/10/2008

0

No oracle não tem geito de funcionar o group by...
Como resolver????
Obrigado!

SELECT C11 AS r1,
c12 AS r2,
(SELECT C22 FROM tabela2
WHERE c12 = c21) AS r3,
COUNT(*)
FROM table1
GROUP BY 1,2,3
ORDER BY 1,2,3;


Briciosm

Briciosm

Responder

Posts

06/10/2008

Abonacin

Fala briciosm...
Blz??

Então meu, o group by posicional (1,2,3) nao vai funcionar mesmo... Você vai ter que colocar o nome das colunas...

Segundo, com subquery?? Não acha melhor um join entre as tabelas??

Olha sÓ uma sugestão... Troque
SELECT E.JOB AS CARGO,
E.MGR AS GERENTE
(SELECT D.DNAME FROM DEPT D
WHERE D.DEPTNO = E.DEPTNO) AS DEPART
FROM EMP E
GROUP BY E.JOB, E.MGR, (SUBQUERY...)
ORDER BY 1,2,3;


por
SELECT E.JOB, E.MGR, D.DNAME, COUNT(*)
FROM   EMP E JOIN DEPT D
ON     (E.DEPTNO = D.DEPTNO )
GROUP BY E.JOB, E.MGR, D.DNAME;


Talvez resolva seu problema...
Qualquer coisa só postar...

Abraço


Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar