Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Dúvida Com Comando Sql E Group By (RESOLVIDO)


Posts Recomendados


  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Prezados estou tentando criar uma consulta sql paga me retornar os clientes com email null e agrupar tais clientes através de vendedores.

Ou seja, tenho que usar a tmov e com isso poder saber qual vendedor é responsável por tais clientes.

fiz um "select nome from fcfo where ativo =1 and email is null"

e constatei 7.091 resultados, porém fiz a seguinte consulta:

SELECT FCFO.nome,FCFO.CODCFO códigoCliente,TMOV.CODCFO,FCFO.EMAIL,FCFO.TELEFONE,TMOV.CODVEN1,TVEN.CODVEN,TVEN.NOME NomeVendedor FROM FCFO (nolock),TMOV (nolock),TVEN (nolock) WHERE fcfo.EMAIL IS NULL AND TMOV.CODVEN1 = TVEN.CODVEN AND FCFO.CODCFO = tmov.CODCFO AND ATIVO LIKE 1
group BY TVEN.NOME,TVEN.CODVEN,TMOV.CODVEN1,FCFO.TELEFONE,FCFO.EMAIL,TMOV.CODCFO,FCFO.CODCFO,FCFO.NOME

mas não tive o mesmo número de resultados.

ao contrário foi bem menor, onde estou errando?

também tentei com ineerjoin

SELECT DISTINCT a.NOME nome_cliente, a.EMAIL email_Cliente,a.TELEFONE telefone_do_cliente , c.CODVEN cod_vendedor,c.NOME nome_vendedor FROM FCFO AS a WITH (NOLOCK)
INNER JOIN TMOV AS b WITH (NOLOCK) ON b.CODCFO = a.CODCFO
INNER JOIN Tven AS c WITH (NOLOCK) ON c.CODVEN = b.CODVEN1
WHERE a.email IS NULL AND a.ATIVO = 1 ORDER BY c.NOME

Editado por raphaelluizschettino
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  27
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  147
  • Conteúdo/Dia:  0.02
  • Reputação:   5
  • Pontos/Conquistas:  1.023
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  46

Bom dia, na verdade não tem nada errado.

No primeiro select você está trazendo TODO seu cadastro de Clientes/Fornecedores ativos sem email cadastrado.

No segundo select você está trazendo as informações do vendedor baseado SOMENTE nos Clientes/Fornecedores que por ventura emitiram alguma Nota (TMOV). Ou seja, não é listado os dados cujo Clientes/Fornecedores não possuem movimentação na TMOV.

Espero ter ajudado..

[ ]´s

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Obrigado amigo, mas como eu faria para a query 2 trazer os mesmos resultados da 1?

mais especificamente em:

INNER JOIN TMOV AS b WITH (NOLOCK) ON b.CODCFO = a.CODCFO

Eu teria que ter alguma comparação para me ainda basear na TMOV não é?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  37
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  278
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Obrigado amigo, mas como eu faria para a query 2 trazer os mesmos resultados da 1?

mais especificamente em:

INNER JOIN TMOV AS b WITH (NOLOCK) ON b.CODCFO = a.CODCFO

Eu teria que ter alguma comparação para me ainda basear na TMOV não é?

Tente usando left:

SELECT DISTINCT
a.NOME nome_cliente, a.EMAIL email_Cliente,a.TELEFONE telefone_do_cliente , c.CODVEN cod_vendedor,c.NOME nome_vendedor
FROM FCFO AS a WITH (NOLOCK)
left JOIN TMOV AS b WITH (NOLOCK) ON a.CODCFO = b.CODCFO
left JOIN Tven AS c WITH (NOLOCK) ON b.CODVEN1 = c.CODVEN
WHERE a.email IS NULL AND a.ATIVO = 1 ORDER BY c.NOME
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

(RESOLVIDO)

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Tópico Fechado / Resolvido.

O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum.

Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título.

Se preferir, mande um email para admin@forumrm.com.br

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.