none
Sacar Promedio puntos y agrupar RRS feed

  • Pregunta

  • Num_Estudiante  Termino        Codigo_Clase     Nota      Creditos

    116988048             1501         RECO 205            A            2
    116988048             1501         RECO 213            B            2
    116988048             1501         RECO 221            B            2
    116988048             1501         RECO 215            B            3
    116988048             1501         RECO 211            B            2
    116988048             1501         ELEC 101             C            3
    116988048             1502         RECO 224            B            2
    116988048             1502         RECO 207            C            3
    116988048             1502         ELEC 106             C    

    116988048             1502         COMP 212            C            3
    116988048             1502          ELEC 105            B            3

    SELECT
        t1.Num_Estudiante, t1.Termino,
        AVG(CASE t1.Nota
    		  WHEN 'A' THEN 4
    		  WHEN 'B' THEN 3
    		  WHEN 'C' THEN 2
    		  WHEN 'D' THEN 1
    		  WHEN 'F' THEN 0
    	   END) AS [Promedio]
    FROM
        NombreTabla t1
    GROUP BY
        t1.Num_Estudiante, t1.Termino;
    GO

    Num_Estudiante        Termino     Promedio      Puntos_Honor

    116988048                  1501        3.00 

    116988048                  1502        2.40

    Con el codigo que tengo arriba puedo sacar la siguiente consulta, pero necesito incluir algo mas y son los puntos de honor, como se hace la nota A=4, B=3, C=2, D=1, F=0 dependiento de cada nota voy multiplicando por los creditos ejemplo

    mirando la table que esta arriba el estudiante 116988048  en el termino 1501 tuvo

    116988048             1501         RECO 205            A            2      4 x 2 = 8 puntos honor

    116988048             1501         RECO 213            B            2      3 x 2 = 6  Puntos honor
    116988048             1501         RECO 221            B            2      3 x 2 = 6  Puntos honor
    116988048             1501         RECO 215            B            3      3 x 2 = 6  Puntos honor
    116988048             1501         RECO 211            B            2     3 x 2 = 6   Puntos honor
    116988048             1501         ELEC 101             C            3     2 x 3 - 6   Puntos honor

    Num_Estudiante        Termino     Promedio      Puntos_Honor

    116988048                  1501        3.00                 38      

    116988048                  1502        2.40

    El codigo que tengo arriba me funciona bien solo quiero anadir los que me falta gracias

            

    lunes, 27 de febrero de 2017 18:27

Respuestas

  • Efrain Diaz,

    Va de lo mismo, realiza la sumatoria del producto del puntaje con los créditos:

    SELECT
        t1.Num_Estudiante, t1.Termino,
        AVG(CASE t1.Nota
    		  WHEN 'A' THEN 4.0
    		  WHEN 'B' THEN 3.0
    		  WHEN 'C' THEN 2.0
    		  WHEN 'D' THEN 1.0
    		  WHEN 'F' THEN 0
    	   END) AS [Promedio],
        SUM(CASE t1.Nota
    		  WHEN 'A' THEN 4 * t1.Creditos
    		  WHEN 'B' THEN 3 * t1.Creditos
    		  WHEN 'C' THEN 2 * t1.Creditos
    		  WHEN 'D' THEN 1 * t1.Creditos
    		  WHEN 'F' THEN 0 
    	   END) AS [Puntos_Honor]
    FROM
        NombreTabla t1
    GROUP BY
        t1.Num_Estudiante, t1.Termino;
    GO


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 27 de febrero de 2017 18:35