Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Yoshi

[Resolvido] Relatorio

Recommended Posts

Ae galera to com uma dificudade aki v se vcs conceguem me ajuda.

 

Tipo assim eu tenho uma sql q retorna os ultimos valores de um produtos, so que ele vem em 3 linhas.

Queria saber como q eu faço pra junta esses campos no quick ou no fortes em apenas 1 linha.

 

a SQL q eu to usando

 

SELECT TRESTF.CODMAT, DE1MAT|| ' '|| DE2MAT AS DESCRICAO,
VALCR / QTD AS VALOR
FROM IMATER INNER JOIN TRESTF ON IMATER.CODMAT = TRESTF.CODMAT
WHERE ANOLAN = 9 AND TIPDOC = 'NF'
ORDER BY ANOLAN, MESLAN, DIALAN DESC fetch first 3 rows only

 

T+++++++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguma das tabelas envolvidas tem relação 1XN ou NxN? Coloca um exemplo de como os dados estão sendo gravados nas tabelas envolvidas onde está se repetindo (se possível com todos os campos das mesmas).

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ATUALMENTE FICA ASSIM

 

CODMAT DESCRICAO VALOR

8119 MOUSE C/SCROLL PADRAO P S2 11,2

8119 MOUSE C/SCROLL PADRAO P S2 5,5

8119 MOUSE C/SCROLL PADRAO P S2 8,1

 

QUERIA QUE FICASSE ASSIM

 

CODMAT DESCRICAO VALOR

8119 MOUSE C/SCROLL PADRAO P S2 11,2 - 5,5 - 8,1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem 3 valores diferentes pelo que observo retornando para o mesmo produto pelo que estou vendo, certo? Bom, considerando o select montado, me parece que os totais são divergentes porque eles devem estar associados a notas fiscais diferentes não? Se for isso, num select simples você não vai conseguir montar o resultado na forma que você quer mostrar.

 

A dois modos de resolver: uma é fazer um tratamento na montagem do relatório, onde você traria os dados ordenados também pelo código do material e faria um looping em cima do seu retorno para montar a string que mostra o valor total nos eventos beforeprint da banda de detail (se não me falha a memória, pois faz um tempo que não uso o Fortes)... mas não seria muito bom esse tipo de tratamento, pois se fossem muitos totais você poderia acabar tendo quebras de linha.

 

Outra possibilidade seria a construção de uma procedure no seu BD (supondo que ele suporte isso) para que você montasse o seu resultado da forma que quer trazer, usando tabelas temporárias para consolidar as informações da forma que deseja montar.

 

Seja como for, as duas soluções são complexas e poderiam te resultar num problema futuro, caso o cliente solicitasse a inclusão de novas informações neste relatório (como o número da NF).

 

Talvez fosse bom pensar um pouco no objetivo deste relatório para ver qual é a melhor solução.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo assim achei um comando em MySQL que faz isso que é o Group_concat porem eu preciso fazer isso no DB2.

Mais achu que vou importar os dados pro mysql pra gera o rel.

 

 

Vlw viu Chrnos t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.