none
consulta RRS feed

  • Pergunta

  • Bom dia Senhores(a),

     

    Estou tendo problema para concluir uma consulta, estou filtrando na consulta apenas um numero de pedido para tentar identificar o problema da query mas não estou conseguindo. ele esta duplicando o numero do pedido no retorno.

     

    SELECT SD2.D2_COD,SD2.D2_PEDIDO,SD2.D2_CLIENTE,SD2.D2_LOJA,SD2.D2_DOC,SD2.D2_EMISSAO,SD2.D2_VALDEV,SD2.D2_TOTAL, SC5.C5_NUM,SC5.C5_NOTA,SC5.C5_VEND1, SD1.D1_NFORI,SD1.D1_DATORI,SD1.D1_FORNECE,SD1.D1_LOJA FROM SD2010 SD2, SC5010 SC5, SD1010 SD1 WHERE SD2.D2_FILIAL = '01' AND SC5.C5_FILIAL = '01' AND SD1.D1_FILIAL = '01' AND SD2.D_E_L_E_T_ <> '*' AND SC5.D_E_L_E_T_ <> '*' AND SD1.D_E_L_E_T_ <> '*' AND

     SD2.D2_EMISSAO BETWEEN '20111205' AND '20111205' AND

     SD1.D1_DATORI BETWEEN '20111205' AND '20111205' AND

     SC5.C5_NOTA       = SD2.D2_DOC       AND 

    SC5.C5_NUM           = SD2.D2_PEDIDO  AND

    SC5.C5_CLIENTE     = SD2.D2_CLIENTE AND

    SC5.C5_LOJACLI    = SD2.D2_LOJA     AND

     SD1.D1_NFORI       = SD2.D2_DOC       AND

     SD1.D1_FORNECE = SD2.D2_CLIENTE AND

     SD1.D1_LOJA       = SD2.D2_LOJA      AND

    SD1.D1_DATORI    = SD2.D2_EMISSAO AND

    SC5.C5_NOTA        = SD1.D1_NFORI    AND

     D2_VALDEV >0  AND

    SD2.D2_PEDIDO = '175435'

    ORDER BY SC5.C5_NUM

     

     

    Agradesço se alguem puder me ajudar a resolver este problema.

    terça-feira, 27 de dezembro de 2011 12:07

Respostas

  • Wanderson

    Possivelmente vc esta tomando um produto cartesiano, deve esta faltando fechar algum relacionamento entre as tabelas

    faz o seguinte, faz o select so com uma tabela e seu where, dpois coloca mais uma tabela e vai verificando o resultado, vc chegarar na tabela que esta faltando fechar o relacionamento


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    • Sugerido como Resposta Heloisa Pires segunda-feira, 2 de julho de 2012 18:26
    • Marcado como Resposta Heloisa Pires sexta-feira, 6 de julho de 2012 17:06
    terça-feira, 27 de dezembro de 2011 12:22
    Moderador

Todas as Respostas

  • Wanderson

    Possivelmente vc esta tomando um produto cartesiano, deve esta faltando fechar algum relacionamento entre as tabelas

    faz o seguinte, faz o select so com uma tabela e seu where, dpois coloca mais uma tabela e vai verificando o resultado, vc chegarar na tabela que esta faltando fechar o relacionamento


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    • Sugerido como Resposta Heloisa Pires segunda-feira, 2 de julho de 2012 18:26
    • Marcado como Resposta Heloisa Pires sexta-feira, 6 de julho de 2012 17:06
    terça-feira, 27 de dezembro de 2011 12:22
    Moderador
  • Olá Wanderson,

    Pela sua consulta percebo que seu sistema é Microsiga.

    A tabela SC5 é a tabela pai (header) do pedido, entretanto a SD2 é para os itens (items) da nota fiscal. Será que a SF2 pai (header)  das notas fiscais não atende a sua necessidade?

     


    asc
    terça-feira, 27 de dezembro de 2011 20:15
  • Wanderson,

    Você já tentou fazer os relacionamentos inicialmente separados em diversos Selects para verificar em qual das junções esta ocorrendo duplicação de códigos?

    Assim ficaria mas fácil, encontrar o problemas, posteriormente você poderá ir realizando a união deste Selects distintos em um único select.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 28 de dezembro de 2011 11:16