MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    avatar
    haltom
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 07/12/2010

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  haltom em 23/12/2010, 19:24

    Olá pessoal!

    Estou necessitando da ajuda dos senhores para poder montar uma consulta que me retorne o seguinte resultado:

    o que eu quero é agrupar os vendedores, somar o valortotal, e peso liquido, e contar os cliente.
    só que tem uma critério para pode contar os cliente exemplo:
    o vendas de haltom:
    maria josé 1/11/2010 R$ 230,00
    andreson santos 2/11/2010 R$ 50,00
    paulo henrique 1/11/2010 R$ 100,00
    maria josé 16/11/2010 R$ 50,00
    edna maria 25/11/2010 R$ 50,00

    gostaria que a consulta me retornasse os a quantidade de vendas e a quantidade de clientes atendidos tipo no ex. acima:
    haltom teve 5 vendas mas atendeu 4 clientes com total de R$ 480,00
    meu banco tem a seguinte estrutura:
    e abaixo esta o link para com banco, há! Ele foi feito no access 2010.

    Pessoal desde já valeu pela ajuda.


    http://cid-592051a1785df413.office.live.com/self.aspx/.Public/ImportReport/ImportReport.accdb[Resolvido]Dúvida, Ajuda para montar sql numa Consulta Semttulorqn
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7298
    Registrado : 05/11/2009

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  Alexandre Neves em 23/12/2010, 20:49

    Deve ser assim:
    SELECT Vendedor, Count(NF) as QTVendas, Count(IDParc) as QTClientes, Sum(SomaDeValorTotal) as ValorTotal FROM (tblVendedor INNER JOIN tblPedidos ON tblVendedor.CodVendedor=tblPedidos.CodVendedor) LEFT JOIN tblClientes ON tblPedidos.IDParc=tblClientes.IDParc GROUP BY Vendedor;
    Cumprimentos,
    avatar
    haltom
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 07/12/2010

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  haltom em 27/12/2010, 14:51

    Alexandre Neves,

    obrigado, mas cara essa sua query esta dando erroo seguinte erro:
    O campo'IDParc' especificado pode se referir a mais de uma tabela relacionada na cláusula FROM da instrução SQL.
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7305
    Registrado : 11/05/2010

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  vieirasoft em 27/12/2010, 15:15

    Verique a foto que postou acima.

    Se não estou em erro você definiu esse campo com chave primária numa tabela e agora verifique o tipo de campo em outra e depois ligou os campos.
    avatar
    haltom
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 07/12/2010

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  haltom em 27/12/2010, 16:24

    acho que resolvi o erro que estava dando
    SELECT Vendedor, Count(NF) as QTVendas, Count(tblPedidos.IDParc) as QTClientes, Sum(SomaDeValorTotal) as ValorTotal FROM (tblVendedor INNER JOIN tblPedidos ON tblVendedor.CodVendedor=tblPedidos.CodVendedor) LEFT JOIN tblClientes ON tblPedidos.IDParc=tblClientes.IDParc GROUP BY Vendedor;
    só que o resultado esta retornando esta incorreto. esta me trazendo a mesma quantidade de pedidos e de clientes atendidos.
    fiz uma simulação coloquei dois pedido para o mesmo cliente e ele me retornou a mesma quantidade.

    há vieirasoft, os campos já estão com o mesmo tipo, se não o access não deixaria eu faze o relacionamento.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7298
    Registrado : 05/11/2009

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  Alexandre Neves em 27/12/2010, 19:50

    Boa tarde,

    A contagem dos clientes é devolvida pela contagem do campo IDParc da tabela tblPedidos. É isso?
    A contagem das vendas é devolvida pela contagem do campo NF da tabela tblPedidos. É isso?
    Cumprimentos,
    avatar
    haltom
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 07/12/2010

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  haltom em 28/12/2010, 12:01

    Alexandre,

    gostaria de realizar essa consulta no Access:

    SELECT DISTINCT tblVendedor.CodVendedor, tblVendedor.Vendedor, Count(tblPedidos.NF) AS QTVendas, Count(DISTINCT tblClientes.IDParc) AS QTClientes, Sum(tblPedidos.SomaDeValorTotal) AS ValorTotal
    FROM tblVendedor INNER JOIN (tblPedidos LEFT JOIN tblClientes ON tblPedidos.IDParc = tblClientes.IDParc) ON tblVendedor.CodVendedor = tblPedidos.CodVendedor
    GROUP BY tblVendedor.CodVendedor, tblVendedor.Vendedor;
    Porem li um tópico da própria microsoft que o Access não aceita essa sentença:Count(DISTINCT tblClientes.IDParc), gostaria de saber se tem como realizar a consulta de uma outra forma. Há o tópico que mencionei a pouco é esse: http://blogs.msdn.com/b/access/archive/2007/09/19/writing-a-count-distinct-query-in-access.aspx
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7298
    Registrado : 05/11/2009

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  Alexandre Neves em 28/12/2010, 19:47

    haltom,

    As coisas mais complexas devem ser divididas em partes mais simples.
    Experimente: SELECT DISTINCT Vendedor, Count(*) as VendasEfectuadas FROM tblVendedor LEFT JOIN tblPedidos as A ON tblVendedor.CodVendedort=tblPedidos.CodVendedor GROUP BY Vendedor
    Depois, experimente: SELECT A.Vendedor, Count(A.Vendedor) as ClientesAtendidos FROM (SELECT DISTINCT Vendedor, Count(*) as VendasEfectuadas FROM tblVendedor LEFT JOIN tblPedidos as A ON tblVendedor.CodVendedort=tblPedidos.CodVendedor GROUP BY Vendedor) AS B GROUP BY A.vendedor

    Veja se via pelo caminho certo e vá ajustando passo a passo.

    Conteúdo patrocinado

    [Resolvido]Dúvida, Ajuda para montar sql numa Consulta Empty Re: [Resolvido]Dúvida, Ajuda para montar sql numa Consulta

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 17/6/2019, 05:56