Semana do ano em SQL

03/05/2017

2

Boa tarde, sou novatasso no SQL e estou com uma situação bem peculiar. Preciso extrair informações que um outro software grava no meu banco. Esse software grava a qualquer momento um valor que corresponde a uma produção diária para toda a semana, então para fazer isso ele possui 8 campos no meu banco, um para cada dia da semana e no oitavo ele grava o número da semana no ano:

Ex:
Campo: Referência:
Semana Tipo inteiro com o numero da semana no ano
Campo1 Valor da podução diária aos Domingos
Campo2 Valor da podução diária as Segundas-feiras
Campo3 Valor da podução diária as Terças-feiras
Campo4 Valor da podução diária as Quartas-feiras
Campo5 Valor da podução diária as Quintas-feiras
Campo6 Valor da podução diária as Sextas-feiras
Campo7 Valor da podução diária aos Sabados

Então para mim saber por exemplo a produção diária do dia 3 de Janeiro de 2017 eu preciso consultar o ultimo registro do Campo Semana onde o valor foi 1 (primeira semana do ano, onde está o dia 3 de Janeiro), na sequência preciso pegar essa exata data em que o Campo semana foi escrito e ver qual era o valor do Campo3 (porque em 2017 o dia 3/1 caiu em uma terça-feira).

Como crio uma query para trazer o produção diária ao receber uma data qualquer?
Ricardo

Ricardo

Responder

Post mais votado

03/05/2017

Boa noite ricardo.

Se sua base tivesse os dados gravados em uma estrutura DATA, VALOR, seria mais fácil de conseguir / calcular tudo o que você precisa.
Porque, imagine a situação, usando o dia 03/01 que você passou.
Em 2017 ele faz parte da semana 1, porque 01/01 foi domingo.
Já em 2016, ele faz parte da semana 2, porque 01/01 foi em uma sexta.
Ai dependendo do que você precisar comparar, seja uma data especifica ou a primeira segunda feira do ano seria muito mais fácil de obter do que na sua estrutura atual.

Grande abs

Luiz Santos

Luiz Santos
Responder

Mais Posts

03/05/2017

Emerson Nascimento

Aqui pode ser que você consiga a solução.
Responder

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

Aceitar