Milena Leite escreveu: > Evandro deu certo !!!! > Nem acredito..rsrrss > > Valeu pessoal !!! > > []s > > Milena Leite > > > Em 02/03/07, *Milena Leite* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> escreveu: > > Ok, agora estou usando assim: > > > "SELECT DISTINCT > t.nm_tarefa, > p.nm_projeto, > c.nm_colaborador, > t.meta_horas, > t.id_colaborador > > FROM tb_projeto p, > tb_tarefa t LEFT JOIN > tb_colaborador c on > (c.id_colaborador = t.id_colaborador) > > WHERE > upper(t.nm_tarefa)=upper('$nome_tarefa') and > p.id_projeto = '$id_projeto'" > > > mas ele me tras apenas um colaborador se eu mudo o nome da tarefa > ele me tras outro, mas se tenho 3 tarefas de nomes iguais embora de > projetos diferentes ele me retorna o mesmo nome para as tres.. > <corte> > > Então Milena, > > Voce não esta relacionando a tabela 'c', portanto a > instrução SELECT adiciona um resultado para cada linha da tabela > 'c'. > <corte> > > Ok, deixa eu explicar direitinho.. > Na verdade o meu select é esse: > > "SELECT DISTINCT ON > t.nm_tarefa, > p.nm_projeto, > c.nm_colaborador, > t.meta_horas, > > FROM tb_tarefa t, > tb_colaborador c, > tb_projeto p > > WHERE > upper(t.nm_tarefa)=upper('$nome_tarefa') and > p.id_projeto = > '$id_projeto'"); > > > Eu posso ter tarefas de nomes iguais, mas em projetos > diferentes e apenas uma pessoa pode ficar responsavel por > varios projetos..Então eu entendo que quando eu faço o > filtro de nome_tarefa e do id_projeto ele como consequencia > me tras o colaborador que esta ligado aquele projeto e > tarefa, mas ele me tras sempre o mesmo... > <corte> > > Em tão precisa ver certinho a estrutura da sua tabela. > Às vezes um left join resolve tb. > Pelo q entendi, vc tem join de 2 tabelas: > 1- projetos (1 reg) > 2- tarefas (2 reg) > > o inner join normal vai retornar 2 registros, pois > existe 2 tarefas. Neste caso o distinct não resolve mesmo > > Usa um left join q deve resolver > <corte> > > Coloquei mas não funcionou..nunca vi isso ! tá muito > estranho e olha que já tô apelando e colocando assim: > > $id_projeto = 5; > > select DISTINCT on id_tarefa from tb_tarefa where > id_tarefa = 15 and id_projeto = '$id_projeto' and > c.id_colaborador = 6 > <corte>> > Use o distinct > <corte> > > Olá gente, > > > > tenho o seguinte select: > > > > $nome_tarefa = "tarefa 1"; > > $id_projeto = 5; > > > > select * from tb_tarefa where upper(nm_tarefa) = > upper('$nome_tarefa') and id_projeto = '$id_projeto' and > c.id_colaborador = 6 > > > > E ele esta me trazendo duas informações, como pode !? Eu > tenho apenas um projeto com esse nome, embora duas > tarefas com mesmo nome e apenas um colaborador com esse > id... > > > > Conto com voces,
Milena: Creio que você precisa estudar um pouco mais de SQL para não ficar apenas no método tentativa-e-erro, que, efetivamente, não é método mais indicado para se desenvolver qualquer sistema. Comece, por exemplo, com o tutorial da documentação do PostgreSQL: http://www.postgresql.org/docs/8.2/interactive/tutorial.html se preferir em português: http://pgdocptbr.sourceforge.net/pg80/tutorial.html Veja também os artigos existentes em: http://www.postgresql.org.br/ Para se aprofundar mais indico os livros: PostgreSQL - Second ed. - 2006 Douglas, Korry; Douglas, Susan Sams publishing . Beginning Databases with PostgreSQL - Second ed. - 2005 Stones, Richard; Mathew, Neil Worx Press Sobre banco de dados em geral veja: . INTRODUÇAO A SISTEMAS DE BANCOS DE DADOS - 2004 DATE, CHRISTOPHER J CAMPUS . SISTEMAS DE BANCO DE DADOS - 2005 NAVATHE, SHAMKANT B; ELMASRI, RAMEZ E. ADDISON WESLEY BRA . SISTEMA DE BANCO DE DADOS - 2006 KORTH, HENRY F.; SILBERSCHATZ, ABRAHAM; SUDARSHAN, S. CAMPUS []s Osvaldo _______________________________________________________ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/ _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
