Ir para conteúdo

POWERED BY:

Arquivado

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

amult2013

Juntar Tabelas

Recommended Posts

Olá,

possuo 2 tabelas: Hoteis e Estados e pretendo fazer uma busca por região, porém o código da região só está presente na tabela "Estados", segue:


Hoteis:

NOME | ESTADO

Hotel X | RJ

Hotel Y | RS

 

Estados:

Nome | Sigla | Região

Estado A | RJ | 1

Estado B | RS | 2

 

Preciso imprimir uma relação de hoteis separados por região, exemplo, se o usuário buscou Região Sudeste (1), exibir somente "Hotel X | RJ".

 

Obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Motta, já testei de diversas maneiras mas ainda não consegui,

Estou tentando:

rechospedagens.Open "SELECT nome,estado_id FROM hoteis JOIN estados ON estados.estado_id=hoteis.estado_id WHERE regiao=1",conex2013,2,2,1

 

Assim eu iria pegar todos os hoteis da Região 1, conforme a região que está configurada na tabela de estados, mas continua dando erro,

alguém consegue me ajudar nessa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro na linha do Select, estou rodando em ASP, ele não aponta onde está o erro...



Microsoft Access Database Engine error '80040e14'

Syntax error in FROM clause.

/v2/hospedagem/index.asp, line 42

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu caso, você não tem um campo estado_id nas duas tabelas.

Tem que ligar pela campo SIGLA, mas lembre-se que este campo pode estar errado no cadastro de hoteis.

Por exemplo:

 

declare @hoteis table (nome varchar(max), estado varchar(2))declare @estados table (nome varchar(max), sigla varchar(2), regiao int) insert into @hoteis values ('HOTEL X','RJ')insert into @hoteis values ('HOTEL Y','RS') insert into @estados values ('RIO DE JANEIRO','RJ',1)insert into @estados values ('SAO PAULO','SP',2)insert into @estados values ('RIO GRANDE DO SUL','RS',3)  SELECT h.nome, e.regiaoFROM @hoteis h           INNER JOIN @estados e ON h.estado = e.sigla-- WHERE e.regiao=1
Veja se este select funciona na sua aplicação:
SELECT h.nome, e.regiaoFROM hoteis h           INNER JOIN estados e ON h.estado = e.sigla WHERE e.regiao=1

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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