Ir para conteúdo

POWERED BY:

Arquivado

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

Wilke1

Select somando muito alto

Recommended Posts

ola pessoal essa select ela tá somando muito alto os pt.vl_pedido,eu ja não tó consiguindo saber qual e solução pra isso voce tem alguma ideiaSELECT COUNT(*)NU_PEDIDOS, PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, SUM(PT.VL_PEDIDO)VL_PEDIDO, PT.FL_SITUACAO,SUM(TP.QT_PESO_BRUTO*IP.QT_PEDIDA*TP.QT_POR_EMBALAGEM) PESOFROM TB_PEDIDO_TRANSFERENCIA PT,TB_PRODUTO TP,TB_ITEM_PEDIDO_TRANSFERENCIA IPWHERE PT.CD_LOJA_ORIGEM = '030' AND PT.DT_PEDIDO_TRANSFERENCIA BETWEEN FN_CONV_DATA('05/12/2006') AND FN_CONV_DATA('05/12/2006') AND PT.FL_SITUACAO = 'E' ANDTP.CD_PRODUTO=IP.CD_PRODUTO ANDPT.NU_PEDIDO_TRANSFERENCIA=IP.NU_PEDIDO_TRANSFERENCIA AND PT.CD_LOJA_DESTINO LIKE '034'GROUP BY PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAOORDER BY PT.DT_PEDIDO_TRANSFERENCIA, PT.CD_LOJA_DESTINO, PT.FL_SITUACAO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wilke, que banco de dados você está usando???]Qual a forma de acesso ao mesmo::???Quais os valores nas tabelas???Quanto tem que dar??quanto ta dando???Dê mais informações para que possamos ajudá-lo de forma mais clara...no aguardo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser que os valores estão dando altos por causa dos itens, ou seja, a cada item listado ele soma o valor do pedido, ou seja, se tiver um pedido com 5 itens, ele vai somar 5 vezes o valor daquele pedido, em vez de somente 1, verifique, pode ser isto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser que os valores estão dando altos por causa dos itens, ou seja, a cada item listado ele soma o valor do pedido, ou seja, se tiver um pedido com 5 itens, ele vai somar 5 vezes o valor daquele pedido, em vez de somente 1, verifique, pode ser isto...

oi marcio o banco e oracle o valor tem quer 13,815.03e ta dando mas de 620000, quando eu tiro a tabela tb_item_pedido_transferencia ,ele dar o resultado correto e seus relacionamento, ele tá certo, só que eu preciso dessa tabela nessa select por causa da tb_produto que tem o campo peso e tb_item_pedido_transferencia tem o campo qt_pedida. voce entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

os Joins estão corretos???pq aconteceu comigo já... mexendo em um sistema de notas escolares...nem todos os alunos tinham nota, ai um join no select tava errado e ele colocava todas as notas para todos os alunos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

os Joins estão corretos???pq aconteceu comigo já... mexendo em um sistema de notas escolares...nem todos os alunos tinham nota, ai um join no select tava errado e ele colocava todas as notas para todos os alunos...

e isso que tenho duvida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte, remove os group by, os count, tudo, faz um SQL listando os registros, veja se esta vindo tudo certinho....

marcio eu remove o que voce me pediu, mas não deu certo ,ai eu removi tb_produto, tb_item_pedido_transferencia, ai deu certo ele somou o resultado que eu queria e agora será que tem jeito?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hummm... tenta fazer o relacionamento com a de produtos com Left Join...que dai ele só pegará o produto que realmente tiver no pedido no caso...e não tentar relacionar todos como eu acho que estava fazendo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente, o problema esta com as tabelas itens do pedido, ou seja, se você envolver elas, é gerado uma linha para cada item, ou seja, você soma o valora da tabela de pedido, e como você vai ter os itens listando juntos, este valor vai ser multiplicado pelo n° de itens do pedido, o que poderia fazer é executar o comando com sub-selects, ou seja, select dentro de select, estes sub-selecets iriam ser executados somente sobre os itens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente, o problema esta com as tabelas itens do pedido, ou seja, se você envolver elas, é gerado uma linha para cada item, ou seja, você soma o valora da tabela de pedido, e como você vai ter os itens listando juntos, este valor vai ser multiplicado pelo n° de itens do pedido, o que poderia fazer é executar o comando com sub-selects, ou seja, select dentro de select, estes sub-selecets iriam ser executados somente sobre os itens.

marcio voce tem exemplo de como eu poderia fazer essa subselect

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.