Ir para conteúdo

Arquivado

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

gabhaase

Relacionamento entre tabelas

Recommended Posts

Estou usando uma base de dados MS ACCESS manipulada através de ASP.

 

Estou relacionando 2 tabelas e alguns registros estão, lógicamente, sendo exclídos da pesquisa, devido tipo de condição que estou dando.

 

Preciso fazer o meu SELECT de uma forma diferente para poder obter os dados que espero, só que não estou conseguindo fazê-lo.

 

Tentarei explicar meu problema e espero que alguém consiga me dar uma luz.

 

Imagine a seguinte hipótese:

 

Uma tabela chamada “tb_pessoal”, onde estão alguns dados dos indivíduos.

 

tb_pessoal:

Imagem Postada

 

E outra tabela chamada “tb_exp” que recebe os dados de um campo onde o cara pode digitar experiências relacionadas ao trabalho dele. Esse campo não é obrigatório, podendo ser preenchido ou não. Caso o cara preencha, gravo na tabela experiência o que ele digitou, junto com o “iduser” dele na tabela pessoal. Da seguinte forma:

 

tb_exp:

Imagem Postada

 

 

Então, fiz o seguinte select:

 

SELECT DISTINCT tb_pessoal.nome, tb_pessoal.sobrenome, tb_pessoal.email, tb_exp.experiencia

FROM tb_pessoal, tb_exp

WHERE tb_exp.iduser=tb_pessoal.iduser

 

Obviamente ele me retorna:

Imagem Postada

 

Esta resposta, está correta devido à condição que apliquei, ou seja, ele está exibindo apenas aqueles que possuem uma relação com a outra tabela, então, caso o indivíduo não tenha preenchido nada no campo experiência ele não aparecerá na pesquisa.

 

E, na verdade, eu gostaria de exibir todos os caras da tabela pessoal, juntamente com suas experiências, mesmo que ele não possua nenhuma. Ou seja, se o cara não possuir nenhuma experiência, ele também aparecerá na query, porém a sua experiência aparecerá em branco.

 

Da seguinte forma:

Imagem Postada

 

 

Acredito que não seja complicado, mas minha inexperiência não está me permitindo avançar.

 

Agradeço desde já.

 

Muito obrigado,

 

Gabriel Haase.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Gabriel,

 

Tente uma das consultas abaixo:

 

SELECT DISTINCT tb_pessoal.nome, tb_pessoal.sobrenome, tb_pessoal.email, tb_exp.experiencia

FROM tb_pessoal, tb_exp

WHERE tb_exp.iduser=tb_pessoal.iduser

AND tb_exp.experiencia = ' '

 

ou

 

SELECT DISTINCT tb_pessoal.nome, tb_pessoal.sobrenome, tb_pessoal.email, tb_exp.experiencia

FROM tb_pessoal, tb_exp

WHERE tb_exp.iduser=tb_pessoal.iduser

OR tb_exp.experiencia = ' '

 

Pelo que entendi, acho que a 1a consulta deverá retornar algo semelhante ao que estás pretendendo... Caso não seja isto, me dê um retorno.

 

Abraços,

 

Jackson Arruda

Analista de Sistemas

jarruda@aim.com.br

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.