Java/Query "Resolvido"

vou explicar mais facil possivel

o sistema aki, paga alguns funcionarios por semana, entao na hora de gerar a query lah para pegar os funcionarios q foram pagos durante o mes alguns vem 2, 3 ou 4 vezes entao estou tentando fazer com q eu possa eliminar essas repetições e pega 1 vez o nome e fazer um soma do valor recibido de cada semana,

o q estou qerendo saber, se eh possivel fazer essa eliminação na hora de formular a query?

senao eu consigo pegar essa dados e joga em uma jTable:

jtTabelaQuery = new JTable((TableModel) montarTableQuery(query));

agora estou tentando tirar essa repetições

e tentando montar em outra tabela sem as repetições

jtTabelaRelatorio = new JTable((TableModel)montarTableRelatorio(jtTabelaQuery));

mas naum sei se eh possivel enviar um jTable, uma query eu sei q funciona mas um jTable naum sei.

ou se alguem souber de outra ideia pode fala, estou qerendo saber um metodo mais facil de fazer isso.

Não sei se entendi bem o que queis falar.
Mas pelo que entendi, é só fazer um “SELECT DISTINCT coluna from tabela” para eliminar a repetição do nome.

Quanto a JTable, não entendi muito bem o que você quis dizer!

Abraço!

eu montei um jTable a partir de uma query para jogar no iReport, mas como mencionei nomes repetidos, entao tentei montar outra jTable apartir dah primeira jTable, mas naum estou conseguindo, as vezes isso naum eh possivel isso q estou qerendo saber.

Amigo, o problema não esta no JTable, mais sim na query.
Oque vc precisa fazer é exatamente oque o amigo em cima disse:

“Alterar a query que esta buscando esses dados”.

La provavelmente existe um select e você só precisa acrescentar o “DISTINCT” para não conter valores repetidos.

Abraço t+

mas tipo se eu colocar “distinct” eu vou perder dados

tipo assim

NOME Valor Data
Rafael 25,00 03/08/09
Rafael 125,00 10/08/09
Samuel 35,00 03/08/09
Samuel 50,00 10/08/09
Thiago 50,00 03/08/09
Thiago 50,00 10/08/09

tipo assim eh minha consulta, eles recebem por semana

e quero tentar fazer isso

NOME Valor Mês
Rafael 150,00 08/2009
Samuel 85,00 08/2009
Thiago 100,00 08/2009

isso acredito q naum teria como fazer via query, por isso to tentando fazer isso via java, pegando os dados de uma query q esta na jTable1 e jogar na jTable2 sem a repetição.

no caso da Distinct eu nao pegaria os outros dados correto?? no caso ficaria assim minha query to certo??

NOME Valor Data
Rafael 25,00 03/08/09
Samuel 35,00 03/08/09
Thiago 50,00 03/08/09

[quote=CuRu10]mas tipo se eu colocar “distinct” eu vou perder dados

tipo assim

NOME Valor Data
Rafael 25,00 03/08/09
Rafael 125,00 10/08/09
Samuel 35,00 03/08/09
Samuel 50,00 10/08/09
Thiago 50,00 03/08/09
Thiago 50,00 10/08/09

tipo assim eh minha consulta, eles recebem por semana

e quero tentar fazer isso

NOME Valor Mês
Rafael 150,00 08/2009
Samuel 85,00 08/2009
Thiago 100,00 08/2009

isso acredito q naum teria como fazer via query, por isso to tentando fazer isso via java, pegando os dados de uma query q esta na jTable1 e jogar na jTable2 sem a repetição.

no caso da Distinct eu nao pegaria os outros dados correto?? no caso ficaria assim minha query to certo??

NOME Valor Data
Rafael 25,00 03/08/09
Samuel 35,00 03/08/09
Thiago 50,00 03/08/09

[/quote]

Tem como postar a query para darmos uma olhada?

Pelo que entendi, vc só precisa somar os valores da coluna “VALOR”, então faz o seguinte:

altera sua query para: "SELECT NOME, SUM(VALOR) FROM "TABELA" GROUP BY NOME;

Ai ele ira trazer a soma e o nome em uma unica linha.

SELECT
cad_func.cad_func_nome,
cad_func.cad_func_cpf,
cad_func.cad_func_pis,
cad_relat.cad_relat_dt,
cad_relat.cad_relat_val_brut,
cad_relat.cad_relat_val_liqui
FROM
cad_func
Inner Join cad_relat ON cad_func.cad_func_id = cad_relat.cad_func_id
WHERE
cad_relat.cad_relat_dt BETWEEN ‘2009-07-01’ AND ‘2009-07-31’
ORDER BY
cad_func.cad_func_nome ASC

eu soh preciso somar, duas colunas Valor Bruto e Valor Liquido.

para ver o q cada uma recebeu durante o periodo q no caso eu digito no sistemas q estou implementando.

Oi,

Na verdade existe uma maneira… você pode utilizar a função sum(coluna);

+ou- assim

select sum(COLUNA_VALOR) from TABELA where …;

Mas se você preferir fazer isso via-java, me explique como você está retirando os dados da JTable1.

Tchauzin!

[quote=CuRu10]SELECT
cad_func.cad_func_nome,
cad_func.cad_func_cpf,
cad_func.cad_func_pis,
cad_relat.cad_relat_dt,
cad_relat.cad_relat_val_brut,
cad_relat.cad_relat_val_liqui
FROM
cad_func
Inner Join cad_relat ON cad_func.cad_func_id = cad_relat.cad_func_id
WHERE
cad_relat.cad_relat_dt BETWEEN ‘2009-07-01’ AND ‘2009-07-31’
ORDER BY
cad_func.cad_func_nome ASC

eu soh preciso somar, duas colunas Valor Bruto e Valor Liquido.

para ver o q cada uma recebeu durante o periodo q no caso eu digito no sistemas q estou implementando.[/quote]

Tenta assim:

SELECT 
cad_func.cad_func_nome, cad_func.cad_func_cpf, cad_func.cad_func_pis, cad_relat.cad_relat_dt, SUM(cad_relat.cad_relat_val_brut), 
SUM(cad_relat.cad_relat_val_liqui)
FROM 
cad_func 
Inner Join cad_relat ON cad_func.cad_func_id = cad_relat.cad_func_id 
WHERE 
cad_relat.cad_relat_dt BETWEEN '2009-07-01' AND '2009-07-31' 
GROUP BY
cad_func.cad_func_nome ASC

[quote=lina]Oi,

Na verdade existe uma maneira… você pode utilizar a função sum(coluna);

+ou- assim

select sum(COLUNA_VALOR) from TABELA where …;

Mas se você preferir fazer isso via-java, me explique como você está retirando os dados da JTable1.

Tchauzin![/quote]

É exatamente oque eu estou explicando para ele rsrsrsrsr

muito obrigado a todos, consegui resolver o problema

[quote=danilopelegrino][quote=lina]Oi,

Na verdade existe uma maneira… você pode utilizar a função sum(coluna);

+ou- assim

select sum(COLUNA_VALOR) from TABELA where …;

Mas se você preferir fazer isso via-java, me explique como você está retirando os dados da JTable1.

Tchauzin![/quote]

É exatamente oque eu estou explicando para ele rsrsrsrsr[/quote]

Oi,

Poisé… quando fui comentar você já tinha respondido…

Apenas uma dúvida: Eu posso especificar colunas antes de usar a função sum() ?

select coluna, coluna1, sum(coluna_valor)

Acho que não?!..

Tchauzin!

[quote=lina][quote=danilopelegrino][quote=lina]Oi,

Na verdade existe uma maneira… você pode utilizar a função sum(coluna);

+ou- assim

select sum(COLUNA_VALOR) from TABELA where …;

Mas se você preferir fazer isso via-java, me explique como você está retirando os dados da JTable1.

Tchauzin![/quote]

É exatamente oque eu estou explicando para ele rsrsrsrsr[/quote]

Oi,

Poisé… quando fui comentar você já tinha respondido…

Apenas uma dúvida: Eu posso especificar colunas antes de usar a função sum() ?

select coluna, coluna1, sum(coluna_valor)

Acho que não?!..

Tchauzin![/quote]

Tem razao rsrsr desculpe a falha.

abraço

um duvida aki,

por exemplo eu tenho no meu banco a data, se eu quiser pegar soh o mes ??

tipo para sair resultado na minha query soh o mes isso eh possivel???

exemplo, 2009-08-15, ele me informar soh o mes, Agosto.