Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera!
Estou modelando um banco de dados no MySQL Workbench. Sou programador e não tenho a manha avançada em BD's, daí
surgiu uma parte em que eu fiquei agarrado, e, como o prazo pra terminar esse projeto é curto, eu não tenho muito
tempo pra uma pesquisa mais profunda.
O cenário é o seguinte;
A tabela colaboradores tem relação muitos para muitos com a tabela projetos, gerando assim a tabela intermediára membros.
Como pode ser visto na imagem a seguir;
/applications/core/interface/imageproxy/imageproxy.php?img=http://img522.imageshack.us/img522/9044/projetobd.jpg&key=4bff7687a61021c0b5d5c13f94c6a8763068b8b780fe9ce88b928036bcf082a6" alt="projetobd.jpg" />
A questão é a seguinte;
Queria saber como eu faço um select que me retorne todos os projetos de um determinado colaborador.
Com a subquery abaixo até dá certo, mas só se o colaborador for membro apenas de um projeto.
*SELECT nomeprojeto FROM projetos WHERE codprojeto = (SELECT codprojeto from membros WHERE codcolaborador = ##); *
Se um colaborador for membro de mais de um projeto a query retorna o erro;
ERROR 1242 (21000): Subquery returns more than 1 row
Eu sei que tenho que usar algum tipo de UNION JOIN, mas não sei como fazê-lo.
Sendo assim, fico no aguardo de alguma ajuda dos membros do forum.
Desde já agradeço a todos.
Por mais curto que seja o tempo sem uma base mínima de SQL é impossível se trabalhar bem com queries.
Sugiro que você dê uma lida no manual, nem que seja só na parte de SELECT.