Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde,
Estou com problemas para selecionar a quantidade total de Horas e Minutos em um determinado intervalo de data ordenando por Operador, segue abaixo script do SQL que montei:
SELECT TB_OPERADOR.NOME, TB_ESPECIF.DESCRI,
sum(datepart(hh, TB_MAN.Tempo))
+sum(datepart(mi, TB_MAN.Tempo))/60 as [Hor H/Maq],
sum(datepart(mi, TB_MAN.Tempo)) % 60 as [Min H/Maq]
from TB_MAN, TB_OPERADOR, TB_ESPECIF
WHERE TB_MAN.Data >= '20110301' AND TB_MAN.Data <= '20110311'
AND TB_MAN.ESPECIF = TB_ESPECIF.COD
OR TB_MAN.Mec1 = TB_OPERADOR.COD
OR TB_MAN.Mec2 = TB_OPERADOR.COD
OR TB_MAN.Mec3 = TB_OPERADOR.COD
OR TB_MAN.Mec4 = TB_OPERADOR.COD
OR TB_MAN.Mec5 = TB_OPERADOR.COD
OR TB_MAN.Mec6 = TB_OPERADOR.COD
OR TB_MAN.Mec7 = TB_OPERADOR.COD
OR TB_MAN.Mec8 = TB_OPERADOR.COD
OR TB_MAN.Mec9 = TB_OPERADOR.COD
GROUP BY TB_OPERADOR.NOME, TB_ESPECIF.DESCRI
ORDER BY TB_ESPECIF.DESCRI, [Hor H/Maq] DESC, [Min H/Maq] DESC
Uso o SQL Server 2005.
Estou com problemas para somar quando verifico mais de uma coluna para comparar com outra tabela, parece que o banco perde a referência. O campo tempo e Data é do tipo DateTime.
Acho que o método de uso do "OR" está incorreto! Tenho que comparar mais de uma coluna para verificar registros iguais para soma.
Exemplo.:
Registro 1 -> Tempo = 2 Hrs | Mecânico1 = José, | Mecânico2 = Paulo | Mecânico3 = Roberto
Registro 2 -> Tempo = 1 Hrs | Mecânico1 = Paulo, | Mecânico2 = Roberto | Mecânico3 = NULL
Grupo
José = 3 Hrs
Paulo = 3 Hrs
Roberto = 2 Hrs
Como posso resolver?
Att,
Moacir Rachid
Carregando comentários...