Ir para conteúdo

POWERED BY:

Arquivado

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

brissolare

[Resolvido] Ordenar por 3 tabelas diferentes

Recommended Posts

Bom dia Pessoal, não sei se isso é possivel, mas vamos lá...

 

Tenho 3 tabelas com informações

 

Tabela 1 - Pedidos Efetuados - com informacoes dos pedidos efetuados

Tabela 2 - Devoluções - com informações sobre devoluções de produtos

Tabela 3 - Troca - Com troca de produtos

 

Quero juntar essas tres tabelas e fazer tipo um "extrato" por data juntando essas 3 tabelas

Elas tem praticamento os mesmo campos (data, descricao, valor, tipotrasacao)

 

 

Ex:

 

Dia..................Descrição.................Valor

07/12/2009...........Troca de 1 item...........c 40,00

03/12/2009...........Pedido 10398..............d 596,00

01/11/2009...........Devolução do Pedido.......c 2039,34

30/10/2009...........Pedido 9548...............d 2039,34

 

Depois disso vou somar os totais para ver se o cliente tem crédito ou está zerado...

O problema mesmo é ordernar isso para aparecer...há outra coisa...não vou utilizar grid..

Terei que jogar em um textbox. Ai que tá o problema!!!!rsrsrs pois se fosse grid seria fácil!!rsrsrs

 

 

Obrigado

Brissolare

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Brissolare,

 

Acredito que a solução mais facil esta na sua query e não na aplicação .Net.

 

1) Se a solução for em SQL

Faça uma query dando um Union e cada uma destas tabelas

Exemplo em Oracle:

SELECT * FROM (
SELECT DIA, DESCRICAO, TIPO_CD, VALOR FROM PEDIDOS_EFETUADOS UNION ALL
SELECT DIA, DESCRICAO, TIPO_CD, VALOR FROM DEVOLUCOES UNION ALL
SELECT DIA, DESCRICAO, TIPO_CD, VALOR FROM TROCA
)
ODER BY DIA

2) Se a solução for em .Net

2.1) Crie uma classe que tenha os campos que precisa

2.2) Utilizando um List<> (Generics) alimente esta lista com o conteudo das 3 tabelas.

2.3) Utilize o comando Sort da lista para ordenar a sua tabela.

 

-----------------------------------

Obs: Se as três tabelas possuem os mesmos campos, por que armazenar em três tabelas quando poderia armazenar tudo em uma unica tabela tendo apenas um campo para identificar o que é: Pedido, Devolução e Troca?

 

 

Espero te-lo ajudado, ;)

 

Angelo Compri

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Brissolare,

 

Acredito que a solução mais facil esta na sua query e não na aplicação .Net.

 

1) Se a solução for em SQL

Faça uma query dando um Union e cada uma destas tabelas

Exemplo em Oracle:

SELECT * FROM (
SELECT DIA, DESCRICAO, TIPO_CD, VALOR FROM PEDIDOS_EFETUADOS UNION ALL
SELECT DIA, DESCRICAO, TIPO_CD, VALOR FROM DEVOLUCOES UNION ALL
SELECT DIA, DESCRICAO, TIPO_CD, VALOR FROM TROCA
)
ODER BY DIA

2) Se a solução for em .Net

2.1) Crie uma classe que tenha os campos que precisa

2.2) Utilizando um List<> (Generics) alimente esta lista com o conteudo das 3 tabelas.

2.3) Utilize o comando Sort da lista para ordenar a sua tabela.

 

-----------------------------------

Obs: Se as três tabelas possuem os mesmos campos, por que armazenar em três tabelas quando poderia armazenar tudo em uma unica tabela tendo apenas um campo para identificar o que é: Pedido, Devolução e Troca?

 

 

Espero te-lo ajudado, ;)

 

Angelo Compri

 

Na verdade o banco de dados está pronto...não sou eu que fiz... e não posso mudar...se não já teria feito isso...rsrsrs

Mas vou tentar fazer o que me disse e depois eu posto aqui ok!

 

Obrigado

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade minha dúvida é como juntar valores de 3 tabelas diferentes no asp.net e ordená-los...em uma lista...

 

como mostrado acima na tabela que fiz...

 

 

Nosso amigo Angelo me passou uma soluções em Sql...na verdade não testei...irei testar...se o Sql Funcionar aviso e pode mover o tópico...

 

Mas inicialmente queria pegar esses valores sem precisar fazer esse union no sql

 

Obrigado

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

se utilizar o union, vao vir campos duplicados, ja que voce disse que nelas existem campos em comum.

pode fazer com inner join que irá trazer sem duplicar campos

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.