Ir para conteúdo

POWERED BY:

Arquivado

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

ronaldosdb

Relacioamento entre tabelas

Recommended Posts

Olá comunidade!

Como faço para criar um relacionamento nesse caso:

Eu tenho um cadastro (Banco de Curriculos) cujo os dados vao sendo cadastrados em cinco tabelas diferentes:

 

1- curriculo_contatos

2- curriculo_cursoextracurriculares

3- curriculo_dadosescolares

4- curriculo_dadospessoais

5- curriculo_dadosprofissionais

6- curriculo_informacoes

 

Portanto, o primeiro registro de cada tabela conincidem (relacionam-se entre si) pois ambos tem um campo "id_nomedatabela".

Como faço para retornar o 1º registro de cada tabela de uma vez só...de modo a ter um cadastro completo (detalhado) com todas as informacoes do primeiro registro...

 

Eu estou fazendo assim, mas acho que está errado

 

 

SELECT *FROM curriculo_contatos, curriculo_cursoextracurriculares, curriculo_dadosescolares, curriculo_dadospessoais, curriculo_dadosprofissionais, curriculo_informacoes

 

Vleu

Ronaldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você mesmo disse, em cada uma destas tabelas você deve ter um ID comum, então coloque na clausula WHERE uma condição igualando as chaves de todas estas tabelas, mais ou menos assim:

SELECT *   FROM curriculo_contatos, curriculo_cursoextracurriculares,      curriculo_dadosescolaresWHERE curriculo_contatos.ID = curriculo_cursoextracurriculares.id AND curriculo_contatos.ID = curriculo_dadosescolares.id

Neste caso serão mostrados todos os dados relacionados destas três tabelas. Faça o mesmo para o restante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar também o UNION SELECTselecao="SELECT id FROM curriculos where id="id " UNION SELECT id FROM curriculosextracurriculares where id="id" UNION SELECT id FROM dadosescolares where id="id"" e por ae vai... hehehe espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entaum...naum deu certo....

 

por acaso, to fazendo errado?

 

SELECT id FROM curriculo_contatos where id_contato="id_contato" UNION SELECT id FROM curriculo_cursoextracurriculares where id="id_cursosextracurriculares" UNION SELECT id FROM curriculo_dadosescolares where id="id_dadosescolares" UNION SELECT id FROM curriculo_dadospessoais where id="id_dadospessoais" UNION SELECT id FROM

 

ta aparecendo a mensagem erro 1054 coluna 'id' desconhecida em 'field list'

 

Valeu

Ronaldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar o INNER JOIN ou o LEFT JOINEu acho que neste caso seria melhor usar o left joinolha um exemplo

SELECT *FROM curriculo_contatos LEFT JOIN curriculo_cursoextracurriculares ON curriculo_contatos.id = curriculo_cursoextracurriculares.id_curriculo_contatosLEFT JOIN curriculo_dadosescolares ON curriculo_contatos.id = curriculo_dadosescolares.id_curriculo_contatosLEFT JOIN curriculo_dadospessoais ON curriculo_contatos.id = curriculo_dadospessoais.id_curriculo_contatosLEFT JOIN curriculo_dadosprofissionais ON curriculo_contatos.id = curriculo_dadosprofissionais.id_curriculo_contatosLEFT JOIN curriculo_informacoes ON curriculo_contatos.id = curriculo_informacoes.id_curriculo_contatosWHERE curriculo_contatos.id = '????'

Acho que é issoFalows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

Valeu....ele retornou a linha 1, mas vem vá, eu tenho que deixar assim mesmo....

Será q nao vai dar problema na hora da paginacao

 

WHERE curriculo_contatos.id_contato='1'

SELECT *FROM curriculo_contatos LEFT JOIN curriculo_cursoextracurriculares ON curriculo_contatos.id_contato = curriculo_cursoextracurriculares.id_cursosextracurricularesLEFT JOIN curriculo_dadosescolares ON curriculo_contatos.id_contato = curriculo_dadosescolares.id_dadosescolaresLEFT JOIN curriculo_dadospessoais ON curriculo_contatos.id_contato = curriculo_dadospessoais.id_dadospessoaisLEFT JOIN curriculo_dadosprofissionais ON curriculo_contatos.id_contato = curriculo_dadosprofissionais.id_dadosprofissionaisLEFT JOIN curriculo_informacoes ON curriculo_contatos.id_contato = curriculo_informacoes.id_informacoesWHERE curriculo_contatos.id_contato='1'
Valeu

Ronaldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

To fazendo asssim agora pra ver se da certo

 

SELECT *FROM curriculo_contatos a, curriculo_cursoextracurriculares b, curriculo_dadosescolares c, curriculo_dadospessoais d, curriculo_dadosprofissionais e, curriculo_informacoes WHERE a.id = b.id

Agora tenho uma duvida.....

Como fazer para continuar esse relacionamento, pois vejo q ele traz na consulta o resultado igual entre o campo id da tabela a e tabela b...mas como incluir as tabelas c d e nessa consulta....

valeu

Ronaldo

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT *FROM curriculo_contatos a, curriculo_cursoextracurriculares b, curriculo_dadosescolares c, curriculo_dadospessoais d, curriculo_dadosprofissionais e, curriculo_informacoes WHERE a.id = b.id AND a.id = C.ID and a.id = d.id

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai galera, valeu

Eu consegui resolver assim.....

 

SELECT *FROM curriculo_contatos a, curriculo_cursosextracurriculares b, curriculo_dadosescolares c, curriculo_dadospessoais d, curriculo_dadosprofissionais e, curriculo_informacoes fWHERE a.id = b.id AND a.id = c.id AND a.id = d.id AND a.id = e.id AND a.id = f.id

Brigadao

Ronaldo

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.