Testes condicionais em SQl Server 2008

09/10/2013

0

Tenho um horario(tbl.horario) que preciso testar em qual intervalo de tempo está cadastrado (tbl.intervalo) e deve retornar um tempo para cada intervalo.
Porém existem alguns que tem mais de um tempo cadastrado e preciso fazer uma média entre esses...
Mais ou menos assim

//Achando o horario
Select hrIni from tbl.horario

//Achando o intervalo de horario do periodo, aqui é cadastrado a hora que começa e termina cada faixa de horário
Select hrIni, hrFim from tbl.periodo

//Achando o tempo total por intervalo que é a soma de dois campos
Select (tmpIni + tmpFim)as Tempo from intervalo group by codInt
Aqui deveria retornar intervalo : 10 tempo: 50 por exemplo uma linha só.. preciso testar se retornou mais de uma linha se sim fazer uma média entre os tempos.
E unir esses selects distintos.
Cássia Freitas

Cássia Freitas

Responder

Posts

10/10/2013

Jair N.

Bom Dia, pelo que entendi seria algo asim:

SELECT CASE WHEN (tbl_atl.tmpFim IS NOT NULL) AND (tbl_atl.tmpIni < tbl_atl.tmpFim) THEN (tbl_atl.tmpIni + tbl_atl.tmpFim)
ELSE (DATEDIFF(DAYOFYEAR, tbl_atl.horario,(SELECT TOP 1 tbl_prx.tmpIni FROM horario tbl_prx WHERE (tbl_prx.tmpIni > divulgacao.tmpIni) ORDER BY tbl_prx.tmpIni)))
END AS periodo
FROM horario tbl_atl
ORDER BY tbl_atl.tmpIni


Tenho um horario(tbl.horario) que preciso testar em qual intervalo de tempo está cadastrado (tbl.intervalo) e deve retornar um tempo para cada intervalo.
Porém existem alguns que tem mais de um tempo cadastrado e preciso fazer uma média entre esses...
Mais ou menos assim

//Achando o horario
Select hrIni from tbl.horario

//Achando o intervalo de horario do periodo, aqui é cadastrado a hora que começa e termina cada faixa de horário
Select hrIni, hrFim from tbl.periodo

//Achando o tempo total por intervalo que é a soma de dois campos
Select (tmpIni + tmpFim)as Tempo from intervalo group by codInt
Aqui deveria retornar intervalo : 10 tempo: 50 por exemplo uma linha só.. preciso testar se retornou mais de uma linha se sim fazer uma média entre os tempos.
E unir esses selects distintos.
Responder

10/10/2013

Alex Lekao

Nossa... eu ainda nao consegui entender bem o que esta querendo.

possivelmente vai ter que usar subselects para conseguir o resultado esperado.

mas eu precisaria analisar um pouco mais porque nao estou conseguindo entender bem... rsrsr
Responder

10/10/2013

Mariana Carvalho

Nossa... eu ainda nao consegui entender bem o que esta querendo.

possivelmente vai ter que usar subselects para conseguir o resultado esperado.

mas eu precisaria analisar um pouco mais porque nao estou conseguindo entender bem... rsrsr


tambem achei bem complexo o select.
Responder

10/10/2013

Alex Lekao

entao... eu nao tenho certeza da complexidade, mas gostaria de um pouco mais de detalhas a respeito do que ela esta querendo fazer, para ver se consigo ajudar de alguma forma. rsrs
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