Joao Ramos Postado Agosto 22, 2012 Denunciar Share Postado Agosto 22, 2012 Boa tarde,Estou tentando através de UNION juntar esses tres selects, porem não estou conseguindo.O diferencial de um pro outro é o intercalo de hora.Agradeço quem puder me ajudar.ALMOÇOselect log_credencial.pes_numero, pessoas.pes_nome, count(log_credencial.pes_numero) from LOG_credencial Join pessoasON log_credencial.pes_numero = pessoas.pes_numerowhere log_credencial.mov_datahora BETWEEN '20120715' and '20120816'and log_credencial.eqpi_numero = 2and log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) > '10:30'AND log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) < '13:30'group by log_credencial.pes_numero, pessoas.pes_nomeorder by log_credencial.pes_numeroJANTAselect log_credencial.pes_numero, pessoas.pes_nome, count(log_credencial.pes_numero) from LOG_credencial Join pessoasON log_credencial.pes_numero = pessoas.pes_numerowhere log_credencial.mov_datahora BETWEEN '20120715' and '20120816'and log_credencial.eqpi_numero = 2and log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) > '18:00'AND log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) < '20:00'group by log_credencial.pes_numero, pessoas.pes_nomeorder by log_credencial.pes_numeroCEIAselect log_credencial.pes_numero, pessoas.pes_nome, count(log_credencial.pes_numero) from LOG_credencial Join pessoasON log_credencial.pes_numero = pessoas.pes_numerowhere log_credencial.mov_datahora BETWEEN '20120715' and '20120816'and log_credencial.eqpi_numero = 2and log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) > '00:00'AND log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) < '02:00'group by log_credencial.pes_numero, pessoas.pes_nomeorder by log_credencial.pes_numero Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Agosto 22, 2012 Denunciar Share Postado Agosto 22, 2012 Boa tarde João, O Group by e o order by devem estar somente no ultimo select. Não pode estar nos três selects. Ou então faça um select, utilizando OR para ajuntar os horários. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Joao Ramos
Boa tarde,
Estou tentando através de UNION juntar esses tres selects, porem não estou conseguindo.
O diferencial de um pro outro é o intercalo de hora.
Agradeço quem puder me ajudar.
ALMOÇO
select log_credencial.pes_numero, pessoas.pes_nome, count(log_credencial.pes_numero) from LOG_credencial Join pessoas
ON log_credencial.pes_numero = pessoas.pes_numero
where log_credencial.mov_datahora BETWEEN '20120715' and '20120816'
and log_credencial.eqpi_numero = 2
and log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) > '10:30'
AND log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) < '13:30'
group by log_credencial.pes_numero, pessoas.pes_nome
order by log_credencial.pes_numero
JANTA
select log_credencial.pes_numero, pessoas.pes_nome, count(log_credencial.pes_numero) from LOG_credencial Join pessoas
ON log_credencial.pes_numero = pessoas.pes_numero
where log_credencial.mov_datahora BETWEEN '20120715' and '20120816'
and log_credencial.eqpi_numero = 2
and log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) > '18:00'
AND log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) < '20:00'
group by log_credencial.pes_numero, pessoas.pes_nome
order by log_credencial.pes_numero
CEIA
select log_credencial.pes_numero, pessoas.pes_nome, count(log_credencial.pes_numero) from LOG_credencial Join pessoas
ON log_credencial.pes_numero = pessoas.pes_numero
where log_credencial.mov_datahora BETWEEN '20120715' and '20120816'
and log_credencial.eqpi_numero = 2
and log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) > '00:00'
AND log_credencial.mov_datahora - CAST(FLOOR(CAST(log_credencial.mov_datahora AS float)) AS datetime) < '02:00'
group by log_credencial.pes_numero, pessoas.pes_nome
order by log_credencial.pes_numero
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.