Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
preciso calcular o faturamento de uma empresa por período (manha, tarde e noite). Mas não consigo pensar em uma maneira de colocar todos esses dados em uma mesma tabela. Consigo fazer separado:
select DataEntrada as Data,sum(Recibo.ValorPago) as FaturamentoNoite
from Recibo where (Recibo.HoraSaida between ('18:00:00') and ('23:59:59'))
group by Recibo.DataEntrada;
Queria colocar FaturamentoManha, FaturamentoTarde e FaturamentoNoite na mesma tabela mas não sei como!
Agradeceria se alguém puder me ajudar :)
select case
when time(Recibo.HoraSaida) between '06:00:00' and '11:59:59' then 'Manha'
when time(Recibo.HoraSaida) between '12:00:00' and '17:59:59' then 'Tarde'
when time(Recibo.HoraSaida) between '18:00:00' and '23:59:59' then 'Noite'
else 'Madrugada' end as Turno, sum(Recibo.ValorPago) as Faturamento
from Recibo group by Turno;
Deu certinho! Obrigada :)
Pode utilizar CASE e agrupar por este campo. Exemplo:
FROM tabela WHERE DATE(data_hora) = '2016-02-24' GROUP BY Turno