Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Busca em 2 tabelas


JavaScript

Pergunta

tenho 2 tabelas e preciso buscar apenas o nome dos vendedores q não tem clientes

Uma tabela é a Clientes e a outra Vendedores, na tabela clientes tenho o codigo do vendedor que atende ele.

Como faço pra pegar apenas o nome dos vendedores que não tem clientes e mostrar na tela?

tabela cliente

codigocliente codigologradouro codigovendedor nomecliente

1 1 2 Pedro Romeu

2 3 1 Maria Gabriela

3 5 5 Jéssica Lopes

tabela vendedor

codigoVendedor codigoLogradouro nomeVendedor

1 1 Ana da Silva

2 3 João Luis

3 1 Pedro Bial

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom dia Sr. JavaScript... =' )

Cara, simulei duas formas para fazer, e fico com a segunda..rs...

create table #tabCdCliente (codCliente int, codLogradouro int, codVendedor int, nomecliente varchar(100))
create table #tabCdVendedor (codVendedor int, codLogradouro int, nomeVendedor varchar(50))

insert into #tabCdCliente
select 1, 1, 2, 'Pedro Romeu'
union all
select 2, 3, 1, 'Maria Gabriela'
union all
select 3, 5, 5, 'Jéssica Lopes'

insert into #tabCdVendedor
select 1, 1, 'Ana da Silva'
union all
select 2, 3, 'João Luis'    
union all
select 3, 1, 'Pedro Bial'



--Primeira forma
select * 
from #tabCdVendedor V
where codVendedor not in (select codVendedor from #tabCdCliente)

--Segunda Forma
select V.*
from #tabCdVendedor V
left join  #tabCdCliente C
  on (    C.codVendedor = V.codVendedor)
where isnull(C.codCliente,0) = 0



drop table #tabCdCliente
drop table #tabCdvendedor

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo não deu certo,segue abaixo minhas 2 tabelas, há clientes com codigo do vendedor =0 para aqueles que não possuem vendedores, agora preciso consultar os vendedores que não tem clientes, os quais seriam os codigos da tabela vendedores que não estao na tabela clientes.

CREATE TABLE clientes (
  codigocliente INTEGER PRIMARY KEY,
  codigologradouro INTEGER NOT NULL,
  codigovendedor INTEGER NOT NULL,
  nomecliente VARCHAR(50),
  numeroresidenciacliente VARCHAR(5),
  complementoenderecocliente VARCHAR(10),
  ceplogradourocliente VARCHAR(8),
  cpfcliente VARCHAR(11),
  datanascimentocliente DATE,
  telefoneresidencialcliente VARCHAR(15),
  telefonecelularcliente VARCHAR(15),
  FOREIGN KEY (codigologradouro) REFERENCES logradouros (codigologradouro),
  FOREIGN KEY (codigovendedor) REFERENCES vendedores (codigovendedor)
)

CREATE TABLE vendedores (
  codigoVendedor INTEGER PRIMARY KEY,
  codigoLogradouro INTEGER NOT NULL,
  nomeVendedor VARCHAR(50),
  numeroResidenciaVendedor VARCHAR(5),
  complementoEnderecoVendedor VARCHAR(10),
  cepLogradouroVendedor VARCHAR(8),
  cpfVendedor VARCHAR(11),
  telefoneCelularVendedor VARCHAR(15),
  FOREIGN KEY (codigoLogradouro) REFERENCES logradouros (codigoLogradouro)
)

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Java,

O script não funcionou pois a estrutura de sua tabela consta a coluna CodigoVendedor NOT NULL.

Basta adaptar o mesmo código passado pelo Cosme (que está correto) para a sua estrutura.

Se os clientes com codigovendedor=0 são os clientes que não possuem Vendedor associado, basta dar o select direto na tabela Clientes, filtrando o codigovendedor=0.

No seu exemplo, você postou a linha "Jéssica Lopes" contendo o codigovendedor=5. Na tabela Vendedor, não há o codigovendedor=5.

Minha dúvida: na estrutura da tabela Cliente, o codigovendedor é FK. (???)

Dê uma olhadada se a FK existe. Se existir, verifique se está ativa.

Para pegar os códigos dos vendedores que não estão na tabela clientes (forma mais simples, mas a menos otimizada):

select * from vendedores 
where codigoVendedor not in (select distinct codigovendedor from clientes)

A segunda forma de consulta postada pelo Cosme é a melhor.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...