farindra icon

getNormalisasi

farindra | PRO | 04/10/19 09:57:00 AM UTC | 0 ⭐ | 275 👁️ | Never ⏰ | []
MySQL |

1.04 KB

|

None

|

0 👍

/

0 👎

BEGIN
        SELECT
          GROUP_CONCAT(DISTINCT
            CONCAT(
              'ifnull(SUM(case when K.nama_kriteria = ''',
              K.nama_kriteria,
              ''' then R.nilai_normalisasi end),0) AS `',
              K.nama_kriteria, '`'
            )
          ) INTO @sql
        FROM `detail_rangking` R
        LEFT JOIN `alternatif` A ON A.id_alternatif = R.id_alternatif
        LEFT JOIN `kriteria` K ON K.id_kriteria = R.id_kriteria
        LEFT JOIN `posisi` P ON P.id_posisi = R.id_posisi;
           
        SET @sql = CONCAT('SELECT A.nama_alternatif,', @sql,  ',  P.nama_posisi 
            FROM `detail_rangking` R
            LEFT JOIN `alternatif` A ON A.id_alternatif = R.id_alternatif
            LEFT JOIN `kriteria` K ON K.id_kriteria = R.id_kriteria
            LEFT JOIN `posisi` P ON P.id_posisi = R.id_posisi
 
            GROUP BY P.nama_posisi DESC,A.nama_alternatif' );
         
         
     
     
        PREPARE stmt FROM @sql;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
     
    END

Comments