Semana do ano em SQL
03/05/2017
0
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?
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
Curtir tópico
+ 0
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
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
Responder
Mais Posts
Clique aqui para fazer login e interagir na Comunidade :)