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