goruks 0 Denunciar post Postado Maio 8, 2007 tipo como faço um select de alguns campos de 1 tabela e outros de outra colocando uma condição de 1 em cada tabela serem iguais a $variaveltentei montar e consegui seguinte eh possivel fazer uma condiçao dese tipo no where?alguem da forcinha ;D?SELECT alunos.nome, documentos.rg, documentos.cpf, documentos.diploma, documentos.certificado, documentos.historico, documentos.curriculo, documentos.fotos, documentos.obs FROM alunos, documentos WHERE ((alunos.id_curso && documentos.id_curso) = $id_curso) ORDER BY alunos.nome";$id_curso esta variavel vem por get de outro forme tambem ordem de ordenar pode ser deste modo? ORDER BY alunos.nome"com isso ele ordena a linha da outra tabela referente ao nome junto? Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Maio 8, 2007 Estranho ..., $id_cuso igual a campo id_aluno da tabela documentos? Você precisa especificar a relação que há nas duas tabelas, para que não seja feito um plano cartesiano das duas tabelas. Você teria que usar no caso: WHERE aluno.id_curso = $id_curso AND aluno.id = documentos.id_aluno Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Maio 8, 2007 eh tava errado ali arrumei eh id_curso na otra tabela tb eu ja tinha visto arrumei mas sintax do where tava errada vou testar desse jeito que você no caso seria arrim correto? WHERE alunos.id_curso = $id_curso AND documentos.id_curso = $id_curso ORDER BY alunos.nome"; tipo nao tem problema mandar ordenar pelo campo da primeira tabela né? que a linha relacionada a quele campo eh ordenada junto? :D Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Maio 9, 2007 opa entao consegui resolver problema agora estou tentando fazer um join mais dificil ele esta selecionando direito mas ele retorna 7 vezes o mesmo resultado de cada linha oq há de errado? fiz da seguinte forma: da tabela alunos selecionei o id e nome da tabela documentos todos os campos onde o capo que identifica o curso fosse igual na tabela aluno e na tabela documentos para mim teoricamente isso deveria selecionar o nome, id e os documentos de todos os alunos de um curso X SELECT pos_alunos.id, pos_alunos.nome, pos_documentos.rg, pos_documentos.cpf, pos_documentos.diploma, pos_documentos.certificado, pos_documentos.historico, pos_documentos.curriculo, pos_documentos.fotos, pos_documentos.obs FROM pos_alunos, pos_documentos WHERE pos_alunos.id_curso = $id_curso AND pos_documentos.id_curso = $id_curso ORDER BY pos_alunos.nomepara escrever usei while ( $x = mysql_fetch_array($busca) )problema encontrado é que ele escreve 7 vezes cada linha e poe nome e id na linha de documento que nao eh referente aquele id (por exemplo na figura a baixo pega id 2 e nome do id 2 mas poe na linha do id4 na tebela 2 ) exemplo +- isso pegar todos os id e nome dos alunos da tabela 1 e a linha respectiva na tabela 2 onde o id_curso = X e ordenar pelo nome que so esta presente na tabela 1 desculpe a burrice mas estou aprendendo e o problema nao sei muito bem que termos procurar é o join mesmo que uso para fazer algo desse tipo? vlw :P Compartilhar este post Link para o post Compartilhar em outros sites