Problemas em um selectp
03/08/2018
0
Leonardo Alves
Post mais votado
06/08/2018
SELECT d.ano, d.mes, SUM(CASE WHEN year(os.dataAutorizacao) = d.ano and month(os.dataAutorizacao) = d.mes THEN 1 ELSE 0 END) autorizadas, SUM(CASE WHEN year(os.dataConclusao) = d.ano and month(os.dataConclusao) = d.mes THEN 1 ELSE 0 END) concluidas FROM (SELECT year(dataAutorizacao) ano, month(dataAutorizacao) mes FROM manutencao_OS WHERE dataAutorizacao is not null GROUP BY 1, 2 UNION SELECT year(dataConclusao) ano, month(dataConclusao) mes FROM manutencao_OS WHERE dataConclusao is not null GROUP BY 1, 2 ) d LEFT JOIN manutencao_OS os on (year(os.dataAutorizacao) = d.ano and month(os.dataAutorizacao) = d.mes) or (year(os.dataConclusao) = d.ano and month(os.dataConclusao) = d.mes) GROUP BY d.ano, d.mes ORDER BY d.ano, d.mes
Emerson Nascimento
Mais Posts
06/08/2018
Leonardo Alves
count(os.dataAutorizacao) as autorizacao,
count(os.dataConclusao) as concluida,
(CASE month(dataAutorizacao)
when 1 then 'Jan'
when 2 then 'Fev'
when 3 then 'Mar'
when 4 then 'Abr'
when 5 then 'Mai'
when 6 then 'Jun'
when 7 then 'Jul'
when 8 then 'Ago'
when 9 then 'Set'
when 10 then 'Out'
when 11 then 'Nov'
when 12 then 'Dez'
END) as meses,
year(dataAutorizacao) AS ano
FROM manutencao_OS os
inner join manutencao_local l on (l.idlocal = os.local)
where os.dataAutorizacao is not null
GROUP BY month(os.dataAutorizacao)
06/08/2018
Emerson Nascimento
SELECT year(dataAutorizacao) AS ano, (CASE month(dataAutorizacao) when 1 then 'Jan' when 2 then 'Fev' when 3 then 'Mar' when 4 then 'Abr' when 5 then 'Mai' when 6 then 'Jun' when 7 then 'Jul' when 8 then 'Ago' when 9 then 'Set' when 10 then 'Out' when 11 then 'Nov' when 12 then 'Dez' END) as mes, count(os.dataAutorizacao) as autorizadas, sum(case when dataConclusao is null then 0 else 1 end) as concluidas FROM manutencao_OS os inner join manutencao_local l on (l.idlocal = os.local) where os.dataAutorizacao is not null GROUP BY year(dataAutorizacao), month(os.dataAutorizacao)
desta forma serão contadas todas as OS autorizadas no mês, e a contagem OS concluídas será aquela aberta dentro do mês, independente da data de conclusão.
06/08/2018
Leonardo Alves
06/08/2018
Leonardo Alves
SELECT count(dataConclusao) as autorizada FROM los_interno.manutencao_OS where month(dataConclusao) = 8 and year(dataConclusao) = 2018
RESULTADO = 27
E NO SELECT ANTERIOR DA RESULTADO = 13
13/08/2018
Luciano
Qualquer coisa, me avisa.
;-)
Clique aqui para fazer login e interagir na Comunidade :)