Ir para conteúdo

Arquivado

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

marvi

Query no Access

Recommended Posts

Olá pessoal,

 

Não conheço bem a Query para Access e gostaria de saber se alguém poderia me ajudar...

 

Primeiro tenho as minhas tabelas:

 

1- tabela_Pais:

 

- id_pais

- pais

-----------------------------------------------------

2- tabela_estado:

 

- id_estado

- id_pais

- estado

-----------------------------------------------------

3- tabela_cidade

 

- id_cidade

- id_estado

- cidade

-----------------------------------------------------

4- tabela_profissiao:

 

- id_profissional

- profissional

- id_cidade

-----------------------------------------------------

5- tabela_ids (OBS: coloquei mais uma tabela aí chamada IDS pensando que iria facilitar o cruzamentos das minhas tabelas, não sei):

- id_pais

- id_estado

- id_cidade

- id_profissional

 

Ok, mas quero fazer uma pesquisa com os dados acima, não sei se preciso de todos, mas que mostre os profissionais de cada cidade. Tenho uns combos que mostra Páis = Brasil, Estado = São Paulo, Cidade = Campinas, Profissão = médico. Aí a pessoa clica em buscar e exibe os profissionais médicos daquela cidade, por exemplo.

 

Agora tenho as minhas request:

pais = request.form("paises")
estados = request.form("estados")
cidades = request.form("cidades")
profs = request.form("profs")
Tenho então os request acima e quero fazer um inner join com 4 tabelas: pais, estado, cidade e profissão. Mas não dar certo, tentei assim: (OBS: coloquei mais uma tabela aí chamada IDS pensando que iria facilitar o cruzamentos das minhas tabelas)

SELECT  ids.id_pais, paises.id_pais,  paises.pais, estados.id_estado
FROM		( ids  INNER JOIN
					 paises ON ids.id_pais =  paises.id_pais)
inner join ids on estados.id_estado=ids.id_estado
WHERE   estados.id_estado like “& estados &”

Mas logo acusou erro: Erro de sintaxe na operação JOIN e assim não deu nem para cruzar as outras tabelas e fazer a minha query de pesquisa / busca.

 

Tem essa Query que foi mais longe, mas foi o próprio Access que fez quando a gente insere as tabelas na opção consultas do próprio Access:

SELECT ids.*, PAISES.*, ESTADOS.*, CIDADES.*, CIDADES.*, PROFISSIONAIS.*
FROM (((ids INNER JOIN PAISES ON ids.id_pais = PAISES.id_pais) INNER JOIN ESTADOS ON (ids.id_estado = ESTADOS.id_estado) AND (PAISES.id_pais = ESTADOS.id_pais)) INNER JOIN CIDADES ON (ids.id_cidade = CIDADES.id_cidade) AND (ESTADOS.id_estado = CIDADES.id_estado)) INNER JOIN PROFISSIONAIS ON CIDADES.id_cidade = PROFISSIONAIS.id_cidade

Mas aí não funciona quando insiro o where com qualidade...

OBS: Tentei dessa forma também, deu erro no FROM

SELECT cidades.id_cidade, profissionais.id_cidade, estados.id_estado, cidades.id_estados,  paises.id_pais, estados.id_pais

FROM paises INNER JOIN (estados INNER JOIN [( ]cidades

[INNER JOIN [( ] profissionais [INNER JOIN ...)] 

ON cidades.id_cidade opercomp profissionais.id_cidade)]

ON estados.id_estado opercomp cidades.id_estados) 

ON paises.id_pais opercomp estados.id_pais;

Alguém pode me ajudar a resolver essa query ou me explicar uma forma de criar isso no Access que faça o cruzamento legal das 4 ou 5 tabelas, com where para pesquisas?

 

Desde já agradeço!!

 

Marcelo

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.