Crie um site como este com o WordPress.com
Comece agora

Desafio 01 – TSQL + Performance

Fala, galera, beleza?

Hoje trouxe um desafio, onde a ideia em geral é bem simples, escrever um T-SQL que atenda o solicitado com a melhor performance possível. No final, irei postar o resultado e as melhores soluções.

Update: A resposta desse desafio já foi lançada e você consegue conferir em: https://vulgomarcio.home.blog/2020/11/14/resposta-desafio-01-tsql-performance/

Espero que vocês se divirtam tanto quanto eu.

Estão disponíveis 2 tabelas, sendo:

Tabela Jornada

Utilizando a coluna ID_JORNADA, você poderá cruzar os dados da tabela JORNADA com a tabela JORNADA_ADICIONAL.

Tabela Jornada_Adicional

O mesmo ID_JORNADA pode aparecer diversas vezes nesta tabela.

Sobre esta tabela, eu posso afirmar que:

O ID_JORNADA 7 teve três Jornadas adicionais, são elas:

  1. 2020-03-27 16:43:55.363 até 2020-03-27 16:44:04.990;
  2. 2020-03-27 16:44:14.193 até 2020-03-27 16:44:19.073;
  3. 2020-03-27 17:07:20.660 até 2020-03-27 17:07:29.510.

OUTPUT esperado:

Como é um relatório de folha de ponto, foi solicitado que cada JORNADA_ADICIONAL seja exibido como coluna.

Para ser mais específico, eu deveria trazer o horário de início e fim adicional em ordem cronológica.

Alguns fatos/requisitos:

  • As colunas devem retornar na sequência DH_INICIO_ADICIONAL_1, DH_FIM_ADICIONAL_1, DH_INICIO_ADICIONAL__2, DH_FIM_ADICIONAL_2 e assim por diante; (De acordo com a ordem cronológica)
  • Os dados contidos no arquivo “Criando Cenario de Dev” foi disponibilizado no final do post. Ele dá somente a possibilidade de 6 colunas (INÍCIO + FIM) para o ID_JORNADA 7, porém, o código deve ser dinâmico, pois é possível que a quantidade de colunas venha ser maior ou menor, dependendo da quantidade de linhas encontradas na tabela Jornada_adicional.
  • Os dados contidos no Arquivo “Carga” são para teste de performance.

As soluções devem ser enviadas para o e-mail: marciojuniior.mj@outlook.com

Peço que por favor, não coloquem as respostas no comentário.

Valeu e até breve!
(O retorno sobre este post irá acontecer assim que tivermos uma quantia considerável de soluções)

Link para os scripts: https://github.com/Nusyc/Desafio01

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Crie um website ou blog gratuito no WordPress.com.

Acima ↑

%d blogueiros gostam disto: