Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IgordauM

Apoio rotina INNER

Recommended Posts

Bom dia, 

 

Sou iniciante na questão de SQL. Aqui na empresa temos o sistema ERP e me foi solicitado um relatório para consultar informações de nossos clientes.

Preciso listar o codigo e nome do cliente, qual vendedor está vinculado a ele, o supervidor e o gerente desse vendedor.

As informações do cliente estão na TbCadastroGeral, 

As informações do cliente/vendedor estão na TbCliente

e as informações do vendedor (supervidor e gerente) estão na TbVendedor.

 

Fiz então o seguinte código

 

SELECT *--CG.Cod_cadastro Código_Cliente, CG.Nome_cadastro Nome_Cliente, V.Cod_cadastro Cóigo_Vendedor, V.perc_comissao Perc_Comissão, V.Cod_gerente_vda Código_Gerente, V.cod_supervisor_vda Código_Supervidor
  FROM tbVENDEDOR V, tbCadastroGeral CG, tbCliente C
 INNER JOIN tbCadastroGeral  ON C.Cod_cadastro = tbCadastroGeral.Cod_cadastro
INNER JOIN tbCliente ON  tbVendedor.Cod_cadastro = tbcliente.Cod_vendedor
where CG.Cod_cadastro = '86700'

 

Porém ele me retorna consulta consulta com MUITOS resultados, com certeza está buscando informações não condizentes. Pelo que pude observar ele está buscando TODOS os cadastros de vendedor e listando para o cliente 86700

 

Dae fica com dezenas de linhas com o codigo 86700 e varios codigos de vendedor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por RanyBoy007
      Olá amigo meu problema é o seguinte eu tenho duas tabelas uma onde eu busco informações do banco de dados para mostrar na index o nome da tabela é sf_atualizar e outra onde quero realizar o INNER JOIN chamada sf_nomes,
       
      Na seleção de tabelas eu tenho:
       
      SELECT  a.id_nome,  b.id_nome, a.name_nome, b.name_nome
      FROM sf_atualizar
      INNER JOIN sf_nomes a ON a.id_nome=sf_atualizar.nome_a 
      INNER JOIN sf_time b ON b.id_nome=sf_atualizar.nome_b
       
      Sendo que id_nome está presente na tabela sf_nomes assim como o name_nome, e o nome_a e nome_b na tabela sf_atualizar
       
      basicamente se eu chamar no index $nome_a e $nome_b ele me retorna os id de cada nome pois na tabela sf_atualizar está apenas os id
      eu gostaria de associar o id de cara nome a seu nome na tabela sf_nomes, só que fazendo como no exemplo acima ele me retorna nomes apenas de acordo com o segundo id e não distintos
       
      ex:
      $nome_a contra $nome_b = 2 contra 3 ===> utilizando a chamada com o id
      $name_nome contra $name_nome = augusto contra augusto ===> sendo que gostaria que ele retornasse ==> Paulo contra Augusto
       
       
      Se alguém entendeu meu raciocínio e pudesse ajudar eu ficaria agradecido, obg a todos.
    • Por Andre Schmidt_130237
      Olá, estou passando por um problema e gostaria de pedir ajuda de vocês. É o seguinte: 
       
      Estou integrando um sistema PHP ao plugin Woocommerce do Wordpress e necessito requisitar alguns produtos do banco de dados, até ai tudo bem. O problema se incia ao buscar o produto na tabela. Ela está assim
      Order id / meta_key / value
      1                     2                  3
      2                     2                  87
      3                     3                  45
       
      Eu preciso selecionar o id 1 que contem o valor 3 desde que o id 2 contenha o valor 87. Como faço isso? Estou completamente perdido
    • Por Gabrielvt14
      Olá pessoal.
      Estou tentando fazer um select de duas tabelas diferentes, onde elas se relacionam por FK.
       
      O problema é que nas duas queries que criei, esta retornando o resultado triplicado, por exemplo, na query usada teria que retornar 2 resultados, e esta retornando 6, cada resultado se repetindo três vezes.
       
      Utilizei essas duas queries:
      SELECT t1.*, t2.* FROM cliente_franqueado AS t1 INNER JOIN cliente AS t2 ON t1.franqueado_por = 17052316010088085301 AND t1.status = 'Ativo' ORDER BY t1.status ASC, t1.fantasia ASC SELECT t1.*, t1.fantasia AS fant, t2.fantasia, t2.cod AS cod_franqueado FROM cliente_franqueado t1, cliente t2 WHERE t1.franqueado_por = 17052316010088085301 AND t1.status = 'Ativo' ORDER BY t1.status ASC, t1.fantasia ASC A tabela CLIENTE é uma tabela onde estão cadastradas as franquias, e a tabela CLIENTE_FRANQUEADO é onde estão cadastrados os clientes finais desta franquia.
       
      Mas como falei, esta query teria que retornar dois registros, e esta retornando seis.
       
      Achei este tópico aqui no fórum
      Mas não me ajudou :/
       
      Alguém saberia me dizer onde esta errado?
       
      Caso seja necessário mais informações do banco, só dizer
       
      Grato!
    • Por Gabrielvt14
      Olá pessoal, estou com dificuldade fazer um inner join. Tenho duas tabelas e preciso juntar as informações das duas tabelas e uma só, alguém poderia me ajudar?
       
      tabela cliente_franqueado:
          -  Os campos que preciso desta tabela são: franqueado_por e cod;
      tabela cliente:
          -  O campo que preciso desta tabela é: fantasia.
       
      Eu montei uma query aqui e até traz as informações, porém traz elas duplicadas:
      SELECT clifran.cod, clifran.franqueado_por, cli.fantasia FROM cliente AS cli INNER JOIN cliente_franqueado AS clifran Com essa query ele retorna:
      ------------------------------------------------------------------------------------
      |    cod       |    franqueado_ por    |           fantasia         |
      ------------------------------------------------------------------------------------
      |       1        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       1        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       2        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       2        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       3        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       3        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       4        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       4        |     FRANQUEADO2    |     FRANQUEADO2  |
      |       5        |     FRANQUEADO1    |     FRANQUEADO1  |
      |       5        |     FRANQUEADO1    |     FRANQUEADO1  |
      ------------------------------------------------------------------------------------
       
      E o que eu preciso é que ele não repita o campo cod
       
      Desde ja agradeço!
       
       
    • Visitante
      Por Visitante
      É possível relacionar 4 tabelas onde uma delas não apresenta registros, e mesmo assim listar de uma tabela base?
       
      tabela_pontos  (4 registros) (tabela base onde irão ser listados os registros)
      usuario (4 registros)
      agenda (4 registro)
      historico (0 registros)
       
      é possível relacioná-las caso o histórico esteja sem registros? Pois até agora não consegui resolver este probleminha rsrs.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.