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

Consulta De Duas Chaves Estrangeiras


JIAP

Pergunta

Tudo bom pessoal? Meu primeiro post aqui :D

É o seguinte, tenho duas tabelas

CIDADE

Cod_Cidade (PK)

Nome_Cidade

PERCURSO

Cod_Percurso (PK)

Cod_Cidade_Origem (FK)

Cod_Cidade_Destino (FK)

Preciso fazer uma Consulta para saber o nome das cidades de origem e destino quando o Cod_Percurso for igual a um determinado valor.

Obrigado pela ajuda pessoal!

Exemplo de Dados

CIDADE

Cod_Cidade | Nome_Cidade

01 São Paulo

02 Rio de Janeiro

PERCURSO

Cod_Percurso | Cod_Cidade_Origem | Cod_Cidade_Destino

23 01 02

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

eu marquei errado, onde está cidade é Nome_Cidade, ou seja:

select c.nome_cidade, p.Cod_Cidade_Origem, p.Cod_Cidade_Destino from cidade c inner join percurso p on c.cod_cidade = p.Cod_Cidade_Origem where c.cod_percurso = 23

o nome da cidade de destino e origem está em outra tabela?

Link para o comentário
Compartilhar em outros sites

  • 0

Note que o filtro foi pelo cod_percuso=23. Por isso que aparece somente 1 registro. Caso voce queira que mostre os registros da tabela cidade mesmo quando não retornar resultado da tabela percurso, use o Left join:

select c.nome_cidade, p.Cod_Cidade_Origem, p.Cod_Cidade_Destino from cidade c left join percurso p on c.cod_cidade = p.Cod_Cidade_Origem where c.cod_percurso = 23

para exibir os outros campos é só colocar os nomes deles, caso perteçam à tabela de cidade é só colocar na frente do nome do campo o c.

Link para o comentário
Compartilhar em outros sites

  • 0

Exato, quero que me retorne somente um registro. Mas nessa tupla precisa ter os campos:

Codigo_Percurso, NomeCidadeOrigem, NomeCidadeDestino

23 | são Paulo | Rio de Janeiro

Nakela sql que me passou, ela retorna o seguinte:

são Paulo | 01 | 02

Valeu d+ aí a atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

opa foi mal, hoje to com raciocinio lento rsss, tente agora:

select p.codigo_percurso, c.nome_cidade [Cidade destino], c2.nome_cidade [Cidade origem] from percurso p
inner join cidade c on c.codigo_cidade = p.codigo_cidade_destino
inner join cidade c2 on c2.codigo_cidade = p.codigo_cidade_origem
where p.codigo_percurso = 23

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...