Ajuda! Select com resultados repetindo[Resolvido]  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Marcos_rhs
JavaChild

Membro desde: 16/06/2009 15:43:41
Mensagens: 138
Localização: Joinville- SC
Offline

Pessoal, tô com um problemão aqui e preciso da ajuda de vcs para resolver isso.

É o seguinte: Tenho um formulário de pesquisa com alguns campos, este formulário submete ao arquivo PesquisaAgenda.java, lá o script monta um ArrayList com as opções selecionadas no formulário e coloca num select.

Meu problema é que nem todos os campos das opções selecionadas no formulário não estão na mesma tabela e então não funciona em somente um select.

Estou tendo problemas quando seleciono as opções de data (Inicio e Fim) para pesquisar por período.

Ex: Inicio 01-08-2010 e Fim 31-08-2010. O código abaixo, mostra como faço a pesquisa, só que tá buscando várias vezes a mesma data.

Está imprimindo assim:

2010-08-27
2010-08-27
2010-08-27
2010-08-27
2010-08-27
2010-08-27
2010-08-26



As tabelas estão assim:

Tabela "agendabasico"
idagenda dt_cadastro dt_reuniao tecnologia link_apre nmcadastro ata idata
10 2010-08-04 2010-08-27 Refrigeration http://www.teste.com Marcos OK 11
12 2010-08-16 2010-08-26 Refrigeration http://windchill Marcos - -


Tabela "agendatopicos"
idtopicos idagenda assunto tipo apresentador dt_reuniao tecnologia
16 10 asdasdadas BET Marcos 2010-08-27 Refrigeration
15 10 asdadasdasda IST Marcos 2010-08-27 Refrigeration
11 10 dsasdas Status Marcos 2010-08-27 Refrigeration
12 10 dasda IST Marcos 2010-08-27 Refrigeration
13 10 dss BET Marcos 2010-08-27 Refrigeration
14 10 sadasdas Status Marcos 2010-08-27 Refrigeration
17 12 windchill CET Marcos R Scopel 2010-08-26 Refrigeration


Agradeço se alguém puder ajudar

This message was edited 2 times. Last update was at 20/08/2010 14:08:07

guialeixo
Virtual Machine Man

Membro desde: 09/09/2009 11:00:50
Mensagens: 668
Offline

usa distinct mas talvez nao funcione pois c tem varios objetos com essa data, entao talvez c vai ter q usar um operador como o max por exemplo e group by

"O importante da vida não são as respostas sim as perguntas"

Qual lingua você pensa?

Qual lingua um surdo pensa?

Qual lingua um cego e surdo pensa?
guialeixo
Virtual Machine Man

Membro desde: 09/09/2009 11:00:50
Mensagens: 668
Offline

e outra dica ou vc usa doGet ou doPost no caso ai seria doGet nao tem formulario, outra dica voce ta fazendo toda regra de negocio ai, faz uma classe que determina o que fazer, e outra esse negocio ai de simpleDateFormat faz um factory pra isso bem melhor, isso sao apenas dicas que eu to te dando se vc acha bom implementar ou nao é com vc =)

"O importante da vida não são as respostas sim as perguntas"

Qual lingua você pensa?

Qual lingua um surdo pensa?

Qual lingua um cego e surdo pensa?
Marcos_rhs
JavaChild

Membro desde: 16/06/2009 15:43:41
Mensagens: 138
Localização: Joinville- SC
Offline

Obrigado pelas dicas guialeixo!

Já usei distinct,group by e não funcionou, estou quebrando a cabeça aqui de como resolver isso. Talvez mudar a estrutura das tabelas, sei lá...

As data que se repetem estão na tabela agendatopicos, mas na verdade precio delas somente para selecionar outras informações na tabela agendabasico, por isso preciso pegá-las somente uma vez

Alguma outra dica

This message was edited 1 time. Last update was at 19/08/2010 18:25:01

miguelbh6
Debugger
[Avatar]

Membro desde: 09/09/2008 15:49:42
Mensagens: 68
Offline

Provavelmente os outros campos dos registros nao sao identicos, entao seria melhor especificar quais campos gostaria de carregar e usar o distinct!
[Email] [MSN]
Marcos_rhs
JavaChild

Membro desde: 16/06/2009 15:43:41
Mensagens: 138
Localização: Joinville- SC
Offline

Ok Miguel,

poderia me dar um exemplo, pois já fiz de tudo e não resolve. Já usei distinct

This message was edited 1 time. Last update was at 19/08/2010 18:50:52

Adelar
GUJ Master
[Avatar]

Membro desde: 31/10/2008 10:07:36
Mensagens: 1237
Localização: Cascavel
Offline

Se usar distinct da forma que está você não terá garantia de obter os valores corretos entre as linhas 132 e 140. O que pode ser feito é outro select, usando distinct, só para pegar as datas ou deixa com está e armazenar as datas em uma estrutura auxiliar para serem mostradas depois.

Att.

"Errando e aprendendo com os bugs"
http://www.cajuscript.org
[WWW] [MSN]
Marcos_rhs
JavaChild

Membro desde: 16/06/2009 15:43:41
Mensagens: 138
Localização: Joinville- SC
Offline

Blz Adelar! Obrigado por responder...

Você poderia me dar um exemplo deste distinct no código?
Adelar
GUJ Master
[Avatar]

Membro desde: 31/10/2008 10:07:36
Mensagens: 1237
Localização: Cascavel
Offline

Pode ser após a linha 143. Segue parte do que seria o código:


Att.

"Errando e aprendendo com os bugs"
http://www.cajuscript.org
[WWW] [MSN]
Adelar
GUJ Master
[Avatar]

Membro desde: 31/10/2008 10:07:36
Mensagens: 1237
Localização: Cascavel
Offline

Outra forma seria (não validei com o compilador, mas acho que seria isso):

Na linha 127:

Substitui a linha 135 por:

Daí na linha 150 pode ser usada a list para mostrar as datas.

Att.


This message was edited 1 time. Last update was at 19/08/2010 20:38:09


"Errando e aprendendo com os bugs"
http://www.cajuscript.org
[WWW] [MSN]
Marcos_rhs
JavaChild

Membro desde: 16/06/2009 15:43:41
Mensagens: 138
Localização: Joinville- SC
Offline

Adelar, obrigado pelas dicas...

Resolvi meu problema assim:

This message was edited 1 time. Last update was at 20/08/2010 08:01:20

 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team