Autor Tópico: [RESOLVIDO] - Filtro competencia  (Lida 722 vezes)

Menina

  • Intermediário
  • ***
  • Mensagens: 116
    • Email
[RESOLVIDO] - Filtro competencia
« Online: Julho 08, 2016, 05:28:39 pm »
Boa tarde!
possuo uma tabela com a seguinte estrutura:

Cod, Desc, valor, serie, competência
01, teste1, 2.00, 2, 201601
02, teste, 7.00, 2, 291602

Competencia  = 201601 é o ano = "2016 " e mês "01"
O usuário deseja que ele possa informar o período de tal até tal período ficando dessa forma:

Resumo | Jan/2016 | Fev/2016|
teste1  |   90.00      | 87.00     |
teste2  |   80.00  |   89.00      |

Até ai tá tranquilo.
Porém ele deseja na hora de informar o filtro Competência , não informe 201601 tudo junto , ele quer algo mascarado tipo  assim

Competencia "entre dois valores"   ano      mes     até  ano mes
                                                       
como poderia fazer isso? Lembrando que o filtro Competência é uma campo onde informamos dois valores.


« Última modificação: Agosto 18, 2016, 08:42:19 am por Ronyan Alves »

Jailton

  • Expert
  • *****
  • Mensagens: 2026
Re:Filtro competencia
« Responder #1 Online: Julho 08, 2016, 06:23:14 pm »
Na sua SQL vamos criar uma 'data virtual' ai você vai usar este campo no filtro:
Vamos supor que o campo competência que traz resultados seja tipo: 201601, 201602, 201405, etc.


SELECT Cod, Desc, valor, serie, competencia, str_to_date(CONCAT(competencia,'01'), '%Y%m%d') AS Data_Filtro from Sua_Tabela ORDER BY competencia, Cod

Ai só usar o campo Data_Filtro no filtro assim:
« Última modificação: Julho 08, 2016, 06:28:11 pm por Jailton »
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Menina

  • Intermediário
  • ***
  • Mensagens: 116
    • Email
Re:Filtro competencia
« Responder #2 Online: Agosto 17, 2016, 02:46:53 pm »
Deu certo!
Obrigada!