Wilke1 0 Denunciar post Postado Dezembro 19, 2006 ola pessoal não estou consiguindo fazer essa subselect ela dar erro de missing expression, ja mudei ,algumas coisas mas continuaSELECTCOUNT(*) NU_PEDIDO,PT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAO,SUM(PT.VL_PEDIDO) VL_PEDIDO,----(SELECT SUM(TP.QT_PESO_BRUTO * IP.QT_PEDIDA*TP.QT_POR_EMBALAGEM) as PESO-----FROM TB_PRODUTO TP,TB_ITEM_PEDIDO_TRANSFERENCIA IP----- WHERE TP.CD_PRODUTO=IP.CD_PRODUTO )FROM TB_PEDIDO_TRANSFERENCIA PTWHEREPT.CD_LOJA_ORIGEM='030' ANDPT.DT_PEDIDO_TRANSFERENCIA BETWEEN FN_CONV_DATA('05/12/2006') ANDFN_CONV_DATA('05/12/2006') ANDPT.FL_SITUACAO='E' ANDPT.CD_LOJA_DESTINO LIKE '034'GROUP BYPT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAO Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Callegaro 0 Denunciar post Postado Dezembro 19, 2006 Você comentou as linhas e deixou a , antes do comentário. Daí ficaria... ...SUM(PT.VL_PEDIDO) VL_PEDIDO,FROM... E isto gera um erro de missing expression. Retirei os comentários e identei seu código. Assim deve funcionar: SELECT COUNT(*) NU_PEDIDO, PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO, SUM(PT.VL_PEDIDO) VL_PEDIDOFROM TB_PEDIDO_TRANSFERENCIA PTWHERE 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' AND PT.CD_LOJA_DESTINO LIKE '034'GROUP BY PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Dezembro 19, 2006 Você comentou as linhas e deixou a , antes do comentário. Daí ficaria... ...SUM(PT.VL_PEDIDO) VL_PEDIDO,FROM...E isto gera um erro de missing expression. Retirei os comentários e identei seu código. Assim deve funcionar:SELECT COUNT(*) NU_PEDIDO, PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO, SUM(PT.VL_PEDIDO) VL_PEDIDOFROM TB_PEDIDO_TRANSFERENCIA PTWHERE 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' AND PT.CD_LOJA_DESTINO LIKE '034'GROUP BY PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO não deu certo Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Callegaro 0 Denunciar post Postado Dezembro 19, 2006 Teste... SELECT COUNT(*) NU_PEDIDO, PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO, SUM(PT.VL_PEDIDO) VL_PEDIDO, SUM(SELECT SUM(TPROD.QT_PESO_BRUTO * IP.QT_PEDIDA * TPROD.QT_POR_EMBALAGEM) FROM TB_PRODUTO TPROD,TB_ITEM_PEDIDO_TRANSFERENCIA IP WHERE TPROD.CD_PRODUTO=IP.CD_PRODUTO AND IP.NU_PEDIDO_TRANSFERENCIA = PT.NU_PEDIDO_TRANSFERENCIA ) PESOFROM TB_PEDIDO_TRANSFERENCIA PTWHERE PT.CD_LOJA_ORIGEM='030' AND PT.CD_LOJA_DESTINO='034' AND PT.DT_PEDIDO_TRANSFERENCIA BETWEEN FN_CONV_DATA('05/12/2006') AND FN_CONV_DATA('05/12/2006') AND PT.FL_SITUACAO='E'GROUP BY PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Dezembro 19, 2006 Teste... SELECT COUNT(*) NU_PEDIDO, PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO, SUM(PT.VL_PEDIDO) VL_PEDIDO, SUM(SELECT SUM(TPROD.QT_PESO_BRUTO * IP.QT_PEDIDA * TPROD.QT_POR_EMBALAGEM) FROM TB_PRODUTO TPROD,TB_ITEM_PEDIDO_TRANSFERENCIA IP WHERE TPROD.CD_PRODUTO=IP.CD_PRODUTO AND IP.NU_PEDIDO_TRANSFERENCIA = PT.NU_PEDIDO_TRANSFERENCIA ) PESOFROM TB_PEDIDO_TRANSFERENCIA PTWHERE PT.CD_LOJA_ORIGEM='030' AND PT.CD_LOJA_DESTINO='034' AND PT.DT_PEDIDO_TRANSFERENCIA BETWEEN FN_CONV_DATA('05/12/2006') AND FN_CONV_DATA('05/12/2006') AND PT.FL_SITUACAO='E'GROUP BY PT.CD_LOJA_ORIGEM, PT.CD_LOJA_DESTINO, PT.DT_PEDIDO_TRANSFERENCIA, PT.FL_SITUACAO se alguem poder ajudar eu agradeço Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Dezembro 19, 2006 Pode ser meio complicado, mas não tem como você disponibilizar a sua base de dados para que seja possivel o teste dos comandos SQL ? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Dezembro 19, 2006 Pode ser meio complicado, mas não tem como você disponibilizar a sua base de dados para que seja possivel o teste dos comandos SQL ?oi marcio eu ja tentei fazer posiveis relacionamento, mas tá dificil .voce conhece um pouco oracle , essa select ela pucha do banco oracle. Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Dezembro 19, 2006 Trablho com oracle... fiz SQL já do tipo... terei de ver então em casa com mais calma o que pode estar acontecendo... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Dezembro 19, 2006 Trablho com oracle... fiz SQL já do tipo... terei de ver então em casa com mais calma o que pode estar acontecendo...Marcio vou ficar aguardando a sua ajuda Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Dezembro 21, 2006 Olhei e revisei o comando, a princípio esta correto da forma que o Vinicius havia passado, no caso poderia colocar um exemplo do que esta mostrando e o que deveria de aparecer ? Para se ter idéia do comando que esta gerando a divergência... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Dezembro 21, 2006 Olhei e revisei o comando, a princípio esta correto da forma que o Vinicius havia passado, no caso poderia colocar um exemplo do que esta mostrando e o que deveria de aparecer ? Para se ter idéia do comando que esta gerando a divergência... oi marcio a dica que o venicios passou, ela dar esse error 'missing expression'.agora essa select sem subselec, ela traz o valor do pedido triplicado ex: nu_pedidos cd_loja_origem cd_loja_destino dt_pedido_transferencia fl_situacao peso 153 030 034 05/12/2006 e sendo que tinha que trazer os nu_pedidos dessa mesma data a quantidade de 34 e não 153 ,por isso que eu acho que tem que ser usado uma especie de subquery, por que a tabela tb_produto, ela se relaciona com a tb_item_pedido_transferencia pelo cd_produto, agora a tb_pedido_transferencia, ela se relaciona com tb_item_pedido_transferencia pelo nu_pedido_transferencia ,voce entendeu ,mas se voce quiser eu te passo a estrutura dessas tabelas Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Janeiro 9, 2007 ola pessoal não estou consiguindo fazer essa subselect ela dar erro de missing expression, ja mudei ,algumas coisas mas continuaSELECTCOUNT(*) NU_PEDIDO,PT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAO,SUM(PT.VL_PEDIDO) VL_PEDIDO,----(SELECT SUM(TP.QT_PESO_BRUTO * IP.QT_PEDIDA*TP.QT_POR_EMBALAGEM) as PESO-----FROM TB_PRODUTO TP,TB_ITEM_PEDIDO_TRANSFERENCIA IP----- WHERE TP.CD_PRODUTO=IP.CD_PRODUTO )FROM TB_PEDIDO_TRANSFERENCIA PTWHEREPT.CD_LOJA_ORIGEM='030' ANDPT.DT_PEDIDO_TRANSFERENCIA BETWEEN FN_CONV_DATA('05/12/2006') ANDFN_CONV_DATA('05/12/2006') ANDPT.FL_SITUACAO='E' ANDPT.CD_LOJA_DESTINO LIKE '034'GROUP BYPT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAORESOLVIDOPESSOAL FOI FEITO ASSIM, E DEU CERTO OBRIGADO A TODOSSELECT CD_LOJA_ORIGEM,CD_LOJA_DESTINO,DT_PEDIDO_TRANSFERENCIA,FL_SITUACAO,SUM(NU_PEDIDOS)NU_PEDIDOS,SUM(VL_PEDIDO)VL_PEDIDO,SUM(PESO)PESOFROM( SELECT COUNT(1)NU_PEDIDOS,PT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAO, SUM(PT.VL_PEDIDO)VL_PEDIDO,0 PESO FROM TB_PEDIDO_TRANSFERENCIA PT WHERE 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' AND PT.CD_LOJA_DESTINO LIKE '034' GROUP BY PT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAO UNION ALL SELECT 0 NU_PEDIDOS, PT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAO, 0 VL_PEDIDO,SUM(TP.QT_PESO_BRUTO*IP.QT_PEDIDA*TP.QT_POR_EMBALAGEM)PESO FROM TB_PEDIDO_TRANSFERENCIA PT,TB_ITEM_PEDIDO_TRANSFERENCIA IP,TB_PRODUTO TP WHERE 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'AND PT.CD_LOJA_DESTINO LIKE '034' AND TP.CD_PRODUTO=IP.CD_PRODUTO AND PT.NU_PEDIDO_TRANSFERENCIA=IP.NU_PEDIDO_TRANSFERENCIA GROUP BY PT.CD_LOJA_ORIGEM,PT.CD_LOJA_DESTINO,PT.DT_PEDIDO_TRANSFERENCIA,PT.FL_SITUACAO ) GROUP BY CD_LOJA_ORIGEM,CD_LOJA_DESTINO,DT_PEDIDO_TRANSFERENCIA,FL_SITUACAO Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 9, 2007 beleza... quando precisar... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites