Wilke1 0 Denunciar post Postado Dezembro 13, 2006 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
Hugo Slepicka 0 Denunciar post Postado Dezembro 13, 2006 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
marcio.theis 3 Denunciar post Postado Dezembro 13, 2006 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
Wilke1 0 Denunciar post Postado Dezembro 14, 2006 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
Hugo Slepicka 0 Denunciar post Postado Dezembro 14, 2006 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
Wilke1 0 Denunciar post Postado Dezembro 14, 2006 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
marcio.theis 3 Denunciar post Postado Dezembro 14, 2006 Faz o seguinte, remove os group by, os count, tudo, faz um SQL listando os registros, veja se esta vindo tudo certinho.... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Dezembro 14, 2006 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
Hugo Slepicka 0 Denunciar post Postado Dezembro 14, 2006 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
marcio.theis 3 Denunciar post Postado Dezembro 15, 2006 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
Wilke1 0 Denunciar post Postado Dezembro 15, 2006 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