Biscoito111 Posted April 8, 2008 at 03:33 PM Report Share #177711 Posted April 8, 2008 at 03:33 PM Boas pessoal 😛 Porque é que dá este erro ... (group by editoras.nome,genero * ERRO na linha 14: ORA-00933: comando SQL não foi terminado correctamente) ...no seguinte código com uma query? -------------------------------------------------------------------------------- select editoras.nome, genero, max(unidades_vendidas), min(unidades_vendidas), avg(unidades_vendidas), count(titulo) Nlivros from editoras,livros,autores where autores.nome <> (select autores.nome from autores where autores.nome like 'Paulo Loureiro') and livros.CODIGO_EDITORA =editoras.CODIGO_EDITORA and livros.CODIGO_AUTOR = autores.CODIGO_AUTOR order by 1,2,3 group by editoras.nome,genero; -------------------------------------------------------------------------------- Tiago Simões Link to comment Share on other sites More sharing options...
jsWizard Posted April 8, 2008 at 04:45 PM Report Share #177729 Posted April 8, 2008 at 04:45 PM group by e só depois o order by 😛 Link to comment Share on other sites More sharing options...
Biscoito111 Posted April 8, 2008 at 04:55 PM Author Report Share #177730 Posted April 8, 2008 at 04:55 PM enganaste-te. o group by é depois do where. obrigado na mesma mas eu já tirei a dúvida 😛 Tiago Simões Link to comment Share on other sites More sharing options...
jsWizard Posted April 8, 2008 at 04:57 PM Report Share #177731 Posted April 8, 2008 at 04:57 PM biscoito.. sabes ler?? já agora.. além de colocares primeiro o GROUP BY e só depois o ORDER BY, troca também <> por NOT IN ou melhor ainda.. troca aquilo tudo que está dentro de parenteses por <> 'Paulo Loureiro'.. por que aquela query interna não está lá a fazer nada.. e o operador LIKE também não.. uma vez que não usas qualquer caracter "wild card".. enfim.. revê a query toda! LOL 😛 e vê se abres os olhinhos!! LOL 🙂 Link to comment Share on other sites More sharing options...
Biscoito111 Posted April 8, 2008 at 05:44 PM Author Report Share #177747 Posted April 8, 2008 at 05:44 PM continuo a dizer k o k disseste "group by e só depois o order by" está mal e que eu sei ler.tas a contradizer-te. por esta frase tas a dizer k tenho de por o group by depois do order by e não é, é antes e tu contradizes aki "além de colocares primeiro o GROUP BY e só depois o ORDER BY". Tiago Simões Link to comment Share on other sites More sharing options...
Biscoito111 Posted April 8, 2008 at 05:46 PM Author Report Share #177748 Posted April 8, 2008 at 05:46 PM Indique o número máximo, mínimo e médio de unidades vendidas e a quantidade de livros de cada género e de cada editora. Exclua os títulos cujo nome do autor seja ‘Paulo Loureiro’ e resultados colectivos que apresentem um número máximo inferior ou igual a 10000. Ordene por editora, género e depois por número máximo de unidades vendidas. select editoras.nome, genero, max(unidades_vendidas), min(unidades_vendidas), avg(unidades_vendidas), count(titulo) Nlivros from editoras,livros,autores where autores.nome <> (select autores.nome from autores where autores.nome like 'Paulo Loureiro') and livros.CODIGO_EDITORA =editoras.CODIGO_EDITORA and livros.CODIGO_AUTOR = autores.CODIGO_AUTOR having max(unidades_vendidas)>10000 group by editoras.nome,genero order by 1,2,3; Tiago Simões Link to comment Share on other sites More sharing options...
Biscoito111 Posted April 8, 2008 at 05:50 PM Author Report Share #177751 Posted April 8, 2008 at 05:50 PM Podes-me explicar como se faz este? 14. Construa o output. (Os livros de informática, o seu preço, o preço médio dos livros editados por esse autor e a diferença desse preço médio) TITULO PRECO PRECO_MED PRECO-PREC -------------------------------------------- --------- --------- ---------- Microsoft Office 2000 para todos 5500 5950 -450 Microsoft Office 2000 sem fronteiras 6400 5950 450 Fundamental do Word 2000 4800 4800 0 Domine a 110% Word 2000 4400 4400 0 Oracle 8 - Curso completo 4960 4960 0 Windows NT Server 4 para profissionais 7900 7200 700 TCP/IP em redes Microsoft para profissionais 6500 7200 -700 Windows NT Server 4 Curso Completo 6450 6450 0 Tecnologia dos Sistemas Distribuídos 4950 4950 0 Redes Locais em Windows 98 e 95 4400 4400 0 Tecnologia de Base de Dados 4950 4950 0 Tiago Simões Link to comment Share on other sites More sharing options...
jsWizard Posted April 9, 2008 at 11:21 AM Report Share #177907 Posted April 9, 2008 at 11:21 AM continuo a achar que não sabes ler muito bem! LOL em português.. " e " != " é " percebes? portanto.. o que eu disse foi: group by e só depois o order by o que quer dizer: tens de colocar na tua query, PRIMEIRO o GROUP BY e só DEPOIS colocas o ORDER BY!!! percebeste desta vez? inté! 😄 Link to comment Share on other sites More sharing options...
Tsunamy_boy Posted April 23, 2008 at 04:45 PM Report Share #180821 Posted April 23, 2008 at 04:45 PM Select * from tabela where campo='dados' group by campo order by campo... Pronto acaba aqui a discussão! Atenção aqui: (select autores.nome from autores where autores.nome like 'Paulo Loureiro') Se esta conculta devolver mais que um registo dá logo erro, faz um select MAX(autores.nome)... assim de certeza que só te devolve um valor. Sugeria: select editoras.nome, genero, max(unidades_vendidas) as max_unidades_vendidas, min(unidades_vendidas) as min_unidades_vendidas, avg(unidades_vendidas) as med_unidades_vendidas, count(titulo) as Nlivros from editoras,livros,autores where autores.nome <> (select MAX(autores.nome) from autores where autores.nome like 'Paulo Loureiro') and (livros.CODIGO_EDITORA = editoras.CODIGO_EDITORA) and (livros.CODIGO_AUTOR = autores.CODIGO_AUTOR) having max(unidades_vendidas)>10000 group by editoras.nome,genero order by 1,2,3; E é tudo, axo.... Quando a tua resposta2: que é isto: Microsoft Office 2000 para todos 5500 5950 -450 Microsoft Office 2000 sem fronteiras 6400 5950 450 Fundamental do Word 2000 4800 4800 0 Domine a 110% Word 2000 4400 4400 0 Oracle 8 - Curso completo 4960 4960 0 Windows NT Server 4 para profissionais 7900 7200 700 TCP/IP em redes Microsoft para profissionais 6500 7200 -700 Windows NT Server 4 Curso Completo 6450 6450 0 Tecnologia dos Sistemas Distribuídos 4950 4950 0 Redes Locais em Windows 98 e 95 4400 4400 0 Tecnologia de Base de Dados 4950 4950 0 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now