Consulta não está filtrando
Tenho essa consulta no oracle:
("select
(
select
TO_CHAR (t2.hours) || ':' || TO_CHAR (t2.mins) total_time
FROM (
SELECT
SUM (SUBSTR (t.horas, 1, INSTR (t.horas, ':') - 1)) + FLOOR (SUM (SUBSTR (t.horas, INSTR (t.horas, ':') + 1)) / 60) hours,
MOD(SUM (SUBSTR (t.horas, INSTR (t.horas, ':') + 1)), 60) mins
from activity_days t
inner join users u on u.id = t.user_id
inner join tb_semanas s on t.dia_id = s.id
inner join solicitations sol on sol.id = u.solicitation
where t.horas is not null and t.horas <> '-' and sol.id = #{sol.to_i}
) t2
) total_hora,
solicitations.description as Descricao, solicitations.hours_contracted, solicitations.number_order, act.description, users.name uname, to_char(count(distinct(ad.dia_id))) total_de_dias from solicitations
inner join users on users.solicitation = solicitations.id
inner join activity_days ad on ad.user_id = users.id
inner join tb_semanas s on ad.dia_id = s.id
inner join solicitations sol on sol.id = users.solicitation
inner join activities act on act.id = ad.activity_id
where (IS_HIDDEN = 0 or IS_HIDDEN is null) and sol.id = #{sol.to_i}
group by act.description, users.name, solicitations.number_order, solicitations.hours_contracted, solicitations.description")
Ela imprime um relatório de um timesheet com as horas trabalhadas no total e os dias trabalhados. Sendo que o relatório puxa todos os dias como trabalhados no total mesmo não tendo horas trabalhadas em todos os dias, a consulta funciona mas precisa ter esse filtro de puxar o total de dias certo excluindo os dias com '-' ou 0:00. Essa é a linha que puxa o total de dias: solicitations.description as Descricao, solicitations.hours_contracted, solicitations.number_order, act.description, users.name uname, to_char(count(distinct(ad.dia_id))) total_de_dias ... Alguém sabe como colocar esse filtro para o total de dias certo?
Discussão (1)
Carregando comentários...