Ir para conteúdo

POWERED BY:

Arquivado

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

skapitao

Select complexo com várias tabelas

Recommended Posts

Olá! Estou desenvolvendo uma busca avançada para um sistema de cadastro de usuário. Essa busca possui quatro campos: Palavra-chave, Área de atuação, Estado e Cidade. Se o usuário do sistema preencher esses 4 campos eu preciso refinar a busca em 9 tabelas diferentes. Minha dúvida é a seguinte: Eu consigo fazer essa consulta com apenas 1 Select? Como?

 

As tabelas estão estruturadas da seguinte maneira:

 

- usuario (id, nome);

- area_profissional (id, user_id, descricao);

- perfil(id, user_id, descricao);

- formacao(id, user_id, descricao);

- publicacao (id, user_id, descricao);

- premio (id, user_id, descricao);

- idioma(id, user_id, descricao);

- field(id, value); //tabela que armazena campos, ex: id = '9' e value = 'Estado'

- field_value(id, user_id, field_id, value);//tabela que armazena os valores dos campos personalizados, ex: field_id = '9' e value = 'São Paulo'

 

*Apenas para informação: A linguagem do site é PHP, e os selects no bd são via procedures

 

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite amigo,

 

Bom não entendi muito bem o modelo, todas as tabelas exceto field são relacionadas com a usuario, e a field é relacionada com field_value é isso? Qual o propósito dessa ligação? Pois notei as duas tabelas tem uma coluna value, qual a diferença de uma pra outra?

 

Se você puder postar a imagem do MER fica melhor.

 

Quanto a consulta em várias tabelas, você deve usar os JOINs, conhece? Leia a documentação do MySQL: http://dev.mysql.com/doc/refman/5.5/en/join.html

 

Em caso de dúvidas sinta-se a vontade para perguntar. Espero que seja útil, abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite amigo,

 

Bom não entendi muito bem o modelo, todas as tabelas exceto field são relacionadas com a usuario, e a field é relacionada com field_value é isso? Qual o propósito dessa ligação? Pois notei as duas tabelas tem uma coluna value, qual a diferença de uma pra outra?

 

Se você puder postar a imagem do MER fica melhor.

 

Quanto a consulta em várias tabelas, você deve usar os JOINs, conhece? Leia a documentação do MySQL: http://dev.mysql.com....5/en/join.html

 

Em caso de dúvidas sinta-se a vontade para perguntar. Espero que seja útil, abraço.

 

Olá Diego, obrigado pelo retorno. Vou ler a documentação e tentar entender a melhor maneira para fazer essa consulta. Obrigado.

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.