Ajuda - Busca - Membros - Calendário
Versão Completa: Query no Access
iMasters Fóruns > Gerenciamento de Banco de Dados > Access
marvi
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:
CODE
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)
CODE
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:
CODE
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
CODE
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
marvi
Pessoal, revolvir a questão! Pode fechar! Valeu!
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2008 Invision Power Services, Inc.