Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta SQL


faguanil

Pergunta

Pessoal estou trabalhando com SQL SERVER 2005, executando a consulta abaixo a mesma me retorna os seguintes dados:

DATA ID COD_DIS HORA_INICIAL HORA_FINAL

2010-05-21 00:00:00.000 1 0271 19:00 19:50

2010-05-21 00:00:00.000 2 0271 19:50 20:40

2010-05-21 00:00:00.000 1 0179 21:00 21:50

2010-05-21 00:00:00.000 2 0179 21:50 22:40

select 
    uplanoaula.data,
    uplanoaula.idaula,
    uplanoaula.codmat,
    min(edefhor.horini),
    max(edefhor.horfim)
from
       edefhor,
       uplanoaula,
       uprofmatturma
where
    uplanoaula.codperlet='1-2010'
    and uplanoaula.data between '2010/05/21' and '2010/05/21'
    and edefhor.codhor=uplanoaula.codhor
    and uprofmatturma.codperlet = uplanoaula.codperlet
    and uprofmatturma.codmat=uplanoaula.codmat
    and uprofmatturma.codtur=uplanoaula.codtur
    and uprofmatturma.codprof = 0024
group by edefhor.horini,edefhor.horfim,uplanoaula.data,uplanoaula.idaula,uplanoaula.codmat
order by edefhor.horini

Diante dos dados retornados pela consulta eu necessito pegar apenas a menor hora e a maior hora, ou seja, no dia 21/05/2010 o professor começou a trabalhar as 19:00 e saiu as 22:40. Para conseguir pegar estes dados pensei em criar um tabela temporária ou uma view, porém não sei se estou correto disso.

Obrigado pela colaboração de todos.

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Boa tarde Amigo,

No SELECT você referência os campos:

uplanoaula.data, uplanoaula.idaula, uplanoaula.codmat, min(edefhor.horini), max(edefhor.horfim)

No GROUP BY:

edefhor.horini,edefhor.horfim,uplanoaula.data,uplanoaula.idaula,uplanoaula.codmat

Provavelmente o script não está retornado o resultado desejado por causa do Group By. No exemplo você agrupa pelos campos "uplanoaula.idaula" e "uplanoaula.codmat". Perceba que no resultado eles realmente estão agrupados (1 e 2; 271 e 197 respectivamente).

Retire os dois campos do Select e do Group By e rode novamente o script. Provavelmente retornará o resultado desejado.

Caso não retorno, verifique os campos que utilizou no agrupamento. OBS.: você só não pode tirar do group by os campos que você referencia no select.

Se estes campos não puderem ser excluidos do resultado, pode-se tentar fazer um subselect.

Qualquer dúvida, pode postar.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...