Eu possuo a tab TURMA e a EVENTOS (que são as aulas do curso).
Estão relacionadas (chave primária da TURMA com chave estrangeira de EVENTOS).
Em minha consulta, eu listo as turmas.
Até aqui, sem problema.
Problema a ser resolvido:
Quando uma determinada TURMA não tiver EVENTO associado a ela, a TURMA não aparece no select.
Preciso que dados da TURMA sejam exibidos mesmo se não houver evento associado a ela (significa que ainda não há as datas definidas para a realização do curso para aquela turma).
Atualmente o código está assim:
SELECT TT.id, TT.nome, CTA.nomeFantasia, tmp.previsto AS Previstos, tmp.realizado AS Realizados
FROM dbo.tabDeTURMA TT
INNER JOIN --esse JOIN é para trazer detalhes da empresa da qual essa turma pertence...
dbo.tabDeCliente AS CTA ON TT.codCliente = CTA.contaCod
,
(SELECT
COUNT(*) previsto
-- aqui faz o cálculo de percentual que preciso e formata o valor.
, SUBSTRING(
FORMAT(
CAST((SUM(CASE WHEN EVT.dataFinal <= GETDATE() THEN 1 ELSE 0 END) / CAST(COUNT(*) AS NUMERIC (10,3)) *100) AS NUMERIC(10,3)), 'N', 'pt-BR'),1,4) AS 'realizado'
, EVT.codTurma
FROM dbo.tabDeEventos EVT
GROUP BY EVT.codTurma) tmp
--aparentemente o problema está no WHERE. Mas se eu remover, gera duplicidades
WHERE TT.id = tmp.codTurma