Pular para o conteúdo
  • Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 17 anos atrás por Anônimo.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #81148
    drhoffman
    Participante

      Boas pessoal! tou a fazer um projecto para a faculdade e tou com uma dificuldade ! toua tentar fazer um query que me lista todos os alunos que nao vao as aulas teoricas a mais de 15 dias! tentei fazer deste modo mas nao tou a conseguir que isto me selecione os alunos que eu quero! alguem me pode ajudar?

      select al.nome,id_aulaT
      from Aluno al, AulasT_Aluno atal, Aulas_Teoricas at
      where al.id_aluno=atal.id_aluno
      and at.id_aulaT=atal.id_aulaT
      and at.data not in ( select at.data
      from Aulas_Teoricas
      where to_char(data,’yyyymmdd’) BETWEEN (to_char(sysdate,’yyyymmdd’)-15) AND to_char(sysdate,’yyyymmdd’))
      group by al.nome ,at.data

      Obrigado

      #81149
      Marcio68Almeida
      Participante

        Creio que você quer os alunos que não frequentaram as últimas 15 aulas e não as aulas dos últimos 15 dias, mas, de qualquer forma, o jeito mais simples é o seguinte.
        Pegue a data da última presença do aluno e veja se é maior que a data da 15ª aula teórica.

        #81150
        Anônimo

          [quote=”drhoffman”:2o7voow5]Boas pessoal! tou a fazer um projecto para a faculdade e tou com uma dificuldade ! toua tentar fazer um query que me lista todos os alunos que nao vao as aulas teoricas a mais de 15 dias! tentei fazer deste modo mas nao tou a conseguir que isto me selecione os alunos que eu quero! alguem me pode ajudar?

          select al.nome,id_aulaT
          from Aluno al, AulasT_Aluno atal, Aulas_Teoricas at
          where al.id_aluno=atal.id_aluno
          and at.id_aulaT=atal.id_aulaT
          and at.data not in ( select at.data
          from Aulas_Teoricas
          where to_char(data,’yyyymmdd’) BETWEEN (to_char(sysdate,’yyyymmdd’)-15) AND to_char(sysdate,’yyyymmdd’))
          group by al.nome ,at.data

          Obrigado[/quote]

          Amigo se o que realmente deseja seja ver as faltas dos alunos nos ultimos 15 dias, se a relação entre essas tabelas for a que eu estou pensando… (tabela alunos os alunos, na tabela AulasT_Aluno estão as presenças dos alunos na aulas, e na Aulas_Teoricas estão as aulas)
          Vou tentar te ajudar mas não sei se ta certo n testei nda… afinal nem sei a relação direito entre essas tabelas… deduzi de dois jeitos

          Tipo:
          alunos
          * id_aluno pk
          nome

          bla bla bla

          Aulas_Teoricas
          *id_aulaT
          data

          aula de blabla bla

          AulasT_Aluno –guarda os alunos que frequentaram as aulas

          id_aulaT

          id_aluno fk

          Eu faria o select assim :
          select al.nome,
          atal.id_aulaT
          from Aluno al,
          AulasT_Aluno atal
          where al.id_aluno=atal.id_aluno
          and atal.id_aulaT not in ( select id_aulaT
          from Aulas_Teoricas
          where to_char(data,’yyyymmdd’) BETWEEN (to_char(sysdate,’yyyymmdd’)-15) AND to_char(sysdate,’yyyymmdd’));

          Ou

          • id_aluno pk
            nome

          bla bla bla

          Aulas_Teoricas — tipo mesma id_aula mas muda os dias
          *id_aulaT
          * data

          aula de blabla bla

          AulasT_Aluno –guarda os alunos que frequentaram as aulas por data

          id_aulaT

          id_aluno fk

          data

          select al.nome,
          atal.id_aulaT
          from Aluno al,
          AulasT_Aluno atal
          where al.id_aluno=atal.id_aluno
          and (atal.id_aulaT,atal.data) not in ( select id_aulaT, data
          from Aulas_Teoricas
          where to_char(data,’yyyymmdd’) BETWEEN (to_char(sysdate,’yyyymmdd’)-15) AND to_char(sysdate,’yyyymmdd’))

          Bom… como eu disse n tenho ideia de como estão estas tabelas… mas se vc me passar a relação certinha… garanto que monto a tal consulta… espero ter ajudado em algo ou poder ajudar, e não esquece q nem testei isso ai… fiz direto… pode ter erros normalmente besteirinhas… ve ai!!!!!
          flww…

          Daniel Reis
          
          #81151
          Anônimo

            Olhei de novo pra esses selects… e vi q tem diversas maneiras mais faceis de fazer.. acho que fui seguindo seu padrão!!!
            Mas ainda aguardo tua avaliação, e resposta dizendo se ainda eh necessario!!!

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress