Como utilizar as funções PIVOT/CROSS APPLY com INNER JOIN?

06/07/2022

0

Um bom dia a todos os colegas do fórum.

Tenho as seguintes tabelas:

Um bom dia a todos os colegas do fórum.

Tenho as seguintes tabelas:

TABELA PRODUÇÃO
DATA CODIGO_FUNCI CODIGO_OPE QTD HORA
23/06/2022 1020 1 15 07:30:32
23/06/2022 3025 2 12 07:11:10
23/06/2022 2223 3 20 07:15:00
23/06/2022 1020 1 32 08:23:52
23/06/2022 3025 2 16 08:55:01
23/06/2022 1020 1 20 09:16:17
23/06/2022 4025 1 14 10:20:12
23/06/2022 3262 4 8 07:02:30
23/06/2022 4025 1 28 08:10:12
23/06/2022 3262 4 56 11:15:00
23/06/2022 2223 3 33 09:40:23
23/06/2022 3025 2 13 10:25:26

TABELA OPERACAO
CODIGO_OPE DESCRICAO
1 TRAVETAR
2 CHULIAR
3 CORTAR
4 ENFESTAR

TABELA FUNCIONARIOS
CODIGO_FUNCI NOME
1020 MARCOS
3025 JOSÉ
2223 MARIA
4025 CARLOS
3262 JOÃO


Necessito criar uma consulta que totalize por DATA, CODIGO_FUNCI, CODIGO_OPE e HORA. sendo o campo HORA separado por horários(07:00 as 07:59, 08:00 as 08:59, 09:00 as 09:59, 10:00 as 10:59, e assim por diante. A consulta ficaria mais ou menos assim:

DATA CODIGO_FUNCI NOME CODIGO_OPE 07:00 às 07:59 08:00 às 08:59 09:00 às 09:59 10:00 às 10:59 11:00 às 11:59
23/06/2022 1020 MARCOS TRAVETAR 47 0 20 0 0
23/06/2022 2223 MARIA CORTAR 20 0 33 0 0
23/06/2022 3025 JOSE CHULIAR 0 16 0 13 0
23/06/2022 3025 JOSÉ CHULIAR 36 0 0 0 0
23/06/2022 3262 JOÃO ENFESTAR 8 0 0 0 56
23/06/2022 4025 CARLOS TRAVETAR 0 28 0 14 0


Alguém poderia me auxiliar utilizando as funções PIVOT ou CROSS-APPLY juntamente com INNER JOIN?

Desde já eu agradeço.
Marcos Rezende

Marcos Rezende

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar