select distinct l.nom, l.data_entrada, s.nome
from lancamentos l, status s, historico h
where l.id_lancamento = h.id_lancamento
and h.id_status = s.id_status
and (s.id_status = "id do pago" or s.id_status = "id do pendente")

[]s
Nilson Chagas - Ubuntu User 25794
---
Visite:
http://www.amados.com.br/podcast
http://tempodesalvacao.blogspot.com/
http://bbnradio.org/




2009/2/3 Lucas Paz <lucas...@gmail.com>

> Olá,
>
> Vamos a duvida:
>
> tenho as tabelas LANCAMENTOS, HISTORICO_LANCAMENTOS e STATUS .
>
> LANCAMENTOS - PK(id_lancamento),nome,data_entrada e etc.
> STATUS - PK(id_status), nome
> HISTORICO_LANCAMENTOS - PK(id_hist_lancamento), FK(id_lancamento),
> FK(id_status), data, usuario e etc...
>
> Acontece o seguinte, na tabela Lancamentos tenho os dados dos contratos, na
> tabela STATUS apenas os status que podem existir de determinado contrato, na
> tabela HISTORICO_LANCAMENTOS tenho os historicos de alteração dos status do
> contrato.
> os status dos contratos são: "PAGO, PENDENTE, FALTA ALGUMA COISA, ENVIADO"
> e etc.
>
>
> Nem tudo são flores...
>
> 1 contrato pode ter mais de 1 status ao mesmo tempo, ou seja um contrato
> pode estar pendente e ser pago... até ai blz...
> O que preciso fazer é um select que pegue os contratos que por exemplo
> tenham os status PAGO e PENDENTE. Preciso retornar o mesmo apenas 1 vez.
> Atualmente controlo isso por flags, a cada mudança no historico eu mudo 1
> flag na tabela LANCAMENTOS. Funciona, mais gostaria de algo mais automatico
> pois se acrescento 1 status tenho que criar novas flags alterar os triggers
> e etc...
>
> alguem tem alguma sugestão?
>
>
>
> att.
>
> --
> Lucas Paz
>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a