[RESOLVIDO] qual o erro  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
jonata.zurchimitten
JavaTeenager
[Avatar]

Membro desde: 05/03/2009 15:28:08
Mensagens: 158
Offline

BOM DIA!!

MINHA BASE DE DADOS É O FIREBIRD 1.5, USO O IB EXPERT PARA EDITAR.

TENHO O SEGUINTE COMANDO QUE NÃO ESTA DANDO CERTO.


select produto.codigo_produto,
produto.nome,
produto.preco_custo,
icmspdv.percentual_aliquota,
sum(preco_custo * percentual_aliquota / 100)
from produto,
icmspdv
group by produto.preco_custo,
icmspdv.percentual_aliquota
where produto.estoque_atual > 0
order by produto.nome asc




O CODIGO DE ERRO QUE DEU FOI:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 10, char 1.
where.


ALGUEM SABE O ERRO E PODE ME EXPLICAR ONDE EU ERREI ?

VALEW

This message was edited 2 times. Last update was at 09/03/2009 07:21:14

[Email] [MSN]
schistossoma
Debugger
[Avatar]

Membro desde: 07/11/2006 01:48:58
Mensagens: 72
Offline

O teu where está depois do group by. Ele deve estar logo depois do from.

"Glória do desporto nacional, Ó Internacional que eu vivo a exaltar..."
fantomas
GUJ Master
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 1531
Localização: Terra (maior parte do tempo)
Offline

Coloque a instrução GROUP BY em último lugar da instrução e faça um teste para ver se funciona.

flws
mario.fts
GUJ Ranger
[Avatar]

Membro desde: 14/05/2008 09:41:06
Mensagens: 815
Localização: São Paulo - ZL
Offline

jonata.zurchimitten wrote:BOM DIA!!

MINHA BASE DE DADOS É O FIREBIRD 1.5, USO O IB EXPERT PARA EDITAR.

TENHO O SEGUINTE COMANDO QUE NÃO ESTA DANDO CERTO.


select produto.codigo_produto,
produto.nome,
produto.preco_custo,
icmspdv.percentual_aliquota,
sum(preco_custo * percentual_aliquota / 100)
from produto,
icmspdv
group by produto.preco_custo,
icmspdv.percentual_aliquota
where produto.estoque_atual > 0
order by produto.nome asc




O CODIGO DE ERRO QUE DEU FOI:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 10, char 1.
where.


ALGUEM SABE O ERRO E PODE ME EXPLICAR ONDE EU ERREI ?

VALEW


select produto.codigo_produto,
produto.nome,
produto.preco_custo,
icmspdv.percentual_aliquota,
sum(produto.preco_custo * icmspdv.percentual_aliquota / 100)
from produto,
icmspdv
where produto.estoque_atual > 0
group by produto.preco_custo,
icmspdv.percentual_aliquota
order by produto.nome asc

Atente a ordem... primeiro o where, depois o group e depois o order...

Mário Amaral Gonçalves

"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra
[Email]
jonata.zurchimitten
JavaTeenager
[Avatar]

Membro desde: 05/03/2009 15:28:08
Mensagens: 158
Offline

OK

MEU AMIGO COLORADO FIZ ISSO MAS AINDA NÃO FUNCIONOU

O QUE PODE SER ?
[Email] [MSN]
jonata.zurchimitten
JavaTeenager
[Avatar]

Membro desde: 05/03/2009 15:28:08
Mensagens: 158
Offline

DEU ESTE ERRO AI:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)
[Email] [MSN]
schistossoma
Debugger
[Avatar]

Membro desde: 07/11/2006 01:48:58
Mensagens: 72
Offline

Quanto tu usa um Group By, obrigatoriamente deves agrupar por todos os campos contidos no select. No teu caso, tem de agrupar por produto.codigo_produto, produto.nome, produto.preco_custo, icmspdv.percentual_aliquota. A ordem dos agrupamentos podes definir como quiseres.

"Glória do desporto nacional, Ó Internacional que eu vivo a exaltar..."
jonata.zurchimitten
JavaTeenager
[Avatar]

Membro desde: 05/03/2009 15:28:08
Mensagens: 158
Offline

TORÇO PARA O BRASIL DE PELOTAS O COLORADO MAS MUITO OBRIGADO PELA EXPLICAÇÃO
AGORA DEU CERTO, SÓ QUE EU ACHO QUE É MUITO GRANDE A MINHA TABELA QUE TRAVO O IBEXPERT

MUITO OBRIGADO MESMO
[Email] [MSN]
g4j
GUJ Ranger
[Avatar]

Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline

Quando usamos funções de agrupamento, por exemplo sum(), queremos unir varios registros em comum, de um produto por exemplo, em uma unica linha (ou algumas dependendo de quantas colunas agrupar) com uma soma de alguma coluna.

Um exemplo seria uma relação produto / venda: Trazendo somente os nomes dos produtos e o valor total de vendas realizadas POR produto.



resultado:



Outro caso seria adicionar mais uma coluna no agrupamento, com certeza vai trazer mais registros:




resultado:




Gerson Luiz Chagas

SCJP 5.0
SCWCD 5.0

ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20570
Localização: Curitiba/PR
Offline

Jonata, ao postar, por favor, desligue o caps lock. É considerado falta de educação, já que normalmente tudo em maiúsculas é usado para indicar que você está gritando. Fora que fica pior de ler.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
jonata.zurchimitten
JavaTeenager
[Avatar]

Membro desde: 05/03/2009 15:28:08
Mensagens: 158
Offline

ViniGodoy wrote:Jonata, ao postar, por favor, desligue o caps lock. É considerado falta de educação, já que normalmente tudo em maiúsculas é usado para indicar que você está gritando. Fora que fica pior de ler.


ok, e ja aproveitando me explica como que eu boto os comandos para postar no forun dentro daquelas tabelinhas que os outro colocam.

grato amigo
[Email] [MSN]
g4j
GUJ Ranger
[Avatar]

Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline

jonata.zurchimitten wrote:
ViniGodoy wrote:Jonata, ao postar, por favor, desligue o caps lock. É considerado falta de educação, já que normalmente tudo em maiúsculas é usado para indicar que você está gritando. Fora que fica pior de ler.


ok, e ja aproveitando me explica como que eu boto os comandos para postar no forun dentro daquelas tabelinhas que os outro colocam.

grato amigo


use a tag <code> </code> ( troque os <> por [ ])


Gerson Luiz Chagas

SCJP 5.0
SCWCD 5.0

ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20570
Localização: Curitiba/PR
Offline

jonata.zurchimitten wrote:ok, e ja aproveitando me explica como que eu boto os comandos para postar no forun dentro daquelas tabelinhas que os outro colocam.


Leia o seguinte tópico:
http://www.guj.com.br/posts/list/50115.java

Ele explica esse e outros recursos do fórum, em detalhes.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
jonata.zurchimitten
JavaTeenager
[Avatar]

Membro desde: 05/03/2009 15:28:08
Mensagens: 158
Offline

obrigado a todos
espero que com o tempo
possa ajudar alguem tmbm
ehehe
abraço
[Email] [MSN]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team