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..






Em 02/03/07, Marcos <[EMAIL PROTECTED]> escreveu:

 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'.

[]´s

Marcos Ferrari Fernandes
Libra Informática


----- Original Message -----
*From:* Milena Leite <[EMAIL PROTECTED]>
*To:* Grupo de Usuários do PostgreSQL no Brasil<[email protected]>
 *Sent:* Friday, March 02, 2007 10:13 AM
*Subject:* Re: [PostgreSQL-Brasil] filtrar, não consigo !


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...





Em 02/03/07, Alexandre Biancuzzi <[EMAIL PROTECTED]> escreveu:
>
>  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
>
>
>
>
>  ------------------------------
>
> *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> *On Behalf Of *Milena Leite
> *Sent:* sexta-feira, 2 de março de 2007 09:35
> *To:* Grupo de Usuários do PostgreSQL no Brasil
> *Subject:* Re: [PostgreSQL-Brasil] filtrar, não consigo !
>
>
>
> 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
>
>
>
> Em 02/03/07, *Alexandre Biancuzzi* < [EMAIL PROTECTED]>
> escreveu:
>
> Use o distinct
>
>
>
>
>  ------------------------------
>
> *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> *On Behalf Of *Milena Leite
> *Sent:* sexta-feira, 2 de março de 2007 09:11
> *To:* Grupo de Usuários do PostgreSQL no Brasil
> *Subject:* [PostgreSQL-Brasil] filtrar, não consigo !
>
>
>
>
>
>
>
> 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,
>
>
>
> []s
>
>
>
> --
> Milena Leite
>
>
> _______________________________________________
> 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
>
>
>
>
> --
> Milena Leite
>
> _______________________________________________
> 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
>



--
Milena Leite

------------------------------

_______________________________________________
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

------------------------------

No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.5/707 - Release Date: 1/3/2007
14:43


_______________________________________________
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




--
Milena Leite
_______________________________________________
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

Responder a