Possuo a tab TURMAS e EVENTOS.
Preciso que o meu select existente, que seleciona registros da tab TURMAS (que faz JOIN com a tab EVENTOS), faça soma de horas dos EVENTOS associados ao item da tab TURMAS.
SELECT,
Campo1, Campo2, Campo...
EVT.dataInicial, EVT.dataFinal
FROM tabTURMAS
LEFT JOIN
tabEventosTreina AS EVT
...
Creio que a lógica seria essa:
-pegar a diferença entre os campos EVT.dataInicial, EVT.dataFinal
-totalizar essas diferenças para todos os eventos que estiverem associados pelo relacionamento de chaves PK e FK que existem.
-entregar o resultado dessa operação para cada item da consulta.
Com esse código abaixo (de testes), consigo retornar a diferença de horas entre as duas datas.
Mas não consigo evoluir. Acredito que precisaria isolar os minutos, somá-los para ver quantas horas totalizam, somar as horas, e por fim, juntar com a soma dos minutos.
DECLARE @datainicial datetime, @dataFinal datetime
DECLARE @qtde_Dif_Horas VARCHAR(10)
SET @datainicial = '2023/16/11 19:00:00'
SET @dataFinal = '2023/16/11 22:30:00'
(select @qtde_Dif_Horas = CONVERT(varchar(10), @dataFinal - @datainicial, 108))
SELECT @qtde_Dif_Horas AS 'contHoras'