Pivot no Resumo não funciona!

Boa tarde Senhores:

Tenho que fazer um relatório que preciso que venha concatenado os registros em uma única linha como segue o ex:

Atualmente está assim minha query:

usuario | semana | presença | Dever de casa

João | semana 1 | 0 | 1

João | semana 2 | 1 | 0

João | semana 3 | 1 | 0

João | semana 4 | 0 | 1

João | semana 5 | 1 | 1

Maria | semana 1 | 0 | 0

Maria | semana 2 | 1 | 1

Maria | semana 3 | 0 | 0

Maria | semana 4 | 1 | 1

Maria | semana 5 | 0 | 1

Gostaria que ficasse assim:

usuário | semana 1 | semana 2 | semana 3 | semana 4 | semana 5 | Dever de casa 1 | Dever de casa 2 …

joão | 0 | 1 | 1 | 0 | 1 | 1 | 0 …

Maria | 0 | 1 | 0 | 1 | 0 | 0 | 1 …

Cheguei a fazer o resumo com Pivot mas não aparece conforme o exemplo acima como o cliente gostaria.

estou com problema deste do dia 19/10/2017, quando fiz a besteira de atualizar para a versão SCRIPTCASE V9.0.021

Na verdade o problema não é nem com a aplicação, acredito que fiz algo errado. Alguem já fez ou tem algum tutorial para eu fazer um Pivot no SC?

Já olhou o projeto Samples?

Valeu Haroldo,

Consegui fazer o pivot, no entanto, estou com uma dificuldade na limitação das semanas, por ex: gostaria que fossem mostrado somente as 3 ultimas semanas, porque está vindo todas as semanas do ano. Tentei no limit do resumo e não deu certo pois ele restringiu os registros dos usuarios, tentei um order by semana DESC LIMIT 3 também não deu certo.

Obs: As semanas são: 42 - 2017 | 44-2017 …

Sua tabela deve ter um campo data de referencia. deve calcular a data inicial de 3 semanas atras e filtrar.

Agora fica difícil saber se a semana atual ainda não terminou o que deseja fazer, pegar as ultimas 3 semanas cheias, ou as últimas 2 semanas cheias mais a semana atual.

Me entende?

Entendi perfeitamente

Entendi perfeitamente a sua dúvida.

Minha tabela:

semana | data_inicio | data_fim
42 - 2017 | 18/10/2017 | 24/10/2017
43 - 2017 | 25/10/2017 | 31/10/2017
44 - 2017 | 01/11/2017 | 07/11/2017
45 - 2017 | 08/11/2017 | 14/11/2017
46 - 2017 | 15/11/2017 | 21/11/2017

A query que pego a data atual que é a semana 46:
WHERE CURDATE() BETWEEN DATE(t2.data_inicio) AND DATE(t2.data_fim)

Gostaria de pegar a semana atual mais as 3 últimas, ou seja, a semana:46,45,44 e 43

Vou ver aqui como montar isso.

Consegui Haroldo:

where data_inicio
between subdate(curdate(), 21) AND DATE(data_fim) order by semana DESC

Agora a ordenação não está funcionando:

1 - Fui em resumo ordenação e coloquei DESC a semana

2 - Fui direto no SQL da consulta e coloquei, mas mesmo assim não funcionou.

3 - Fui direto no banco e funcionou, mas no SC não.

Será que é algum bug no SC

Existe a coluna semana na Tabela?

Acesse a opção “Resumo -> Configuração” e verifique o valor “ordenação” desse campo. A opção para esse caso é “Pelo valor do banco de dados”

Si

Sim

Yuri,

Eu cheguei a fazer isso:

Resumo > Ordenação > Estática > Tipo de Ordenação “Descendente” > Ordenar a partir da quebra “Semana”.

Mas não ordena.