Array
(
)

Testes condicionais em SQl Server 2008

Cassiasf
|
MVP
Pontos: 300
    09 out 2013

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.

Jair A.n.
   - 10 out 2013

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

Citação:
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.

Alex Lekao
   - 10 out 2013

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

Mariana Carvalho
   - 10 out 2013


Citação:
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.

Alex Lekao
   - 10 out 2013

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