Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 9 anos, 12 meses atrás por Avatar de Adalberto José BrasacaAdalberto José Brasaca.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #107155
    Avatar de Adalberto José BrasacaAdalberto José Brasaca
    Participante

      Bom dia, pessoal… 😆

      Possuo duas tabelas no meu BD nomeadas Curso e Grade com alguns campos descritos abaixo:

      CURSO

      (PK)cur_Codigo cur_Nome cur_Duracao cur_CargaHoraria
      1 Administração de Empresas 8 3200
      2 Ciências Contábeis 8 3360
      3 Pedagogia 7 2700
      4 Sistemas de Informação 8 3260

      GRADE

      (PK)cur_Codigo (PK)gra_Codigo (PK)dis_Codigo gra_Semestre gra_DiaSemana
      3 1 4 1 2
      3 1 5 1 3
      3 2 6 1 4
      4 1 1 1 3
      4 1 2 1 2
      4 1 3 1 4
      4 2 1 1 2
      4 2 2 1 3
      4 3 1 1 3
      4 3 2 1 2

      Então, para cada Curso eu tenho várias Grades criadas. Preciso consultar e apresentar todos os nomes dos cursos com a última grade criada. Baseado nos dados acima, minha consulta deverá retornar o seguinte:

      Grade Curso
      2 Pedagogia
      3 Sistemas de Informação

      Porém, estou conseguindo somente apresentar todas as grades de todos os cursos (acho que está faltando um GROUP BY).

      Agradeço qualquer ajuda.

      Obrigado.

      #107156
      Avatar de rmanrman
      Participante

        @Adalberto José Brasaca

        Realmente é necessário da FUNCTION MAX e do GROUP BY.


        SELECT C.CUR_NOME,MAX(G.GRA_CODIGO) GRADE
        FROM CURSO C
        LEFT JOIN GRADE G ON G.CUR_CODIGO = C.CUR_CODIGO
        GROUP BY C.CUR_NOME

        #107158
        Avatar de Adalberto José BrasacaAdalberto José Brasaca
        Participante

          Valeu pela ajuda rman… Era justamente o que eu precisava. 😆 😆

          Muito obrigado.

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