[RESOLVIDO]Pesquisa com banco

Eu estou realizando uma filtragem e para isso preciso consultar o BD, mas não sei o que fazer nesse caso, em que o banco tem um campo que está configurado para registrar dois valores.

status='PAGO' e status='RECEBIDO

Eu tenho dois botões: btnPago e btnRecebido. Na filtragem original está tudo rodando se eu seleciono APENAS um botão, mas se eu marcar os dois, simplesmente não funciona.
Alguém faz ideia de como eu posso realizar essa filtragem?

Olá,

Se você precisa pegar todos os registros em que o status esteja ‘PAGO’ OU ‘RECEBIDO’ , você pode fazer:

Select * from tabela where status='PAGO' OR status='RECEBIDO';

Ou então:

Select * from tabela where status in ('PAGO','RECEBIDO');

Isso não resolve, no meu caso. Eu tenho vários outros botões nessa filtragem, e para isso, eu criei um um separador(AND), que é chamado sempre de modo a concatenar os botões selecionados.
Aí, quando seleciono um desse dois(ContaPaga ou ContaRecebida) a filtragem ocorre corretamente.
Mas há um conflito de dados quando eu seleciono os dois botões, pois eu estou concatenando em uma mesma sql status=‘PAGO’ e status=‘RECEBIDO’.

Acho que agora fui mais claro, quanto ao problema.

Ola,

Entendi.

Neste seu caso você não vai obter nenhum retorno, pois seus status, pelo que você disse, nunca será ‘PAGO’ e ‘RECEBIDO’ ao mesmo tempo.

Para você obter este tipo de resposta, você teria que ter uma outra tabela, por exemplo, historico_status onde , a cada mudança do status , você guardava em um novo registro.

Será que não existe algum comando diretamente no sql que dê para contornar essa situação?

Acredito que, para você obter este tipo de resposta, você teria que ter uma outra tabela, por exemplo, historico_status onde , a cada mudança do status , você guardava em um novo registro.

1 curtida

Sim, pode ser. Vou tentar aqui, creio que resolverá o problema.
Valeu pela atenção. :slight_smile: