Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DROP TABLE IF EXISTS tabel;
- CREATE TABLE tabel(
- nama VARCHAR(30),
- hasil VARCHAR(30),
- bulan VARCHAR(30)
- );
- INSERT INTO tabel VALUES
- ('B Benjor','k1','Jul I'),
- ('B Berambang','k2','Jul I'),
- ('B Jengguar','k4','Jul I'),
- ('B Sidemen','k2','Jul I'),
- ('E/S Gule Liat','k2','Jul I'),
- ('B Benjor','k2','Jul II'),
- ('B Berambang','k3','Jul II'),
- ('B Jengguar','k1','Jul II'),
- ('B Sidemen','k3','Jul II'),
- ('E/S Gule Liat','k1','Jul II');
- SELECT * FROM tabel;
- +---------------+-------+--------+
- | nama | hasil | bulan |
- +---------------+-------+--------+
- | B Benjor | k1 | Jul I |
- | B Berambang | k2 | Jul I |
- | B Jengguar | k4 | Jul I |
- | B Sidemen | k2 | Jul I |
- | E/S Gule Liat | k2 | Jul I |
- | B Benjor | k2 | Jul II |
- | B Berambang | k3 | Jul II |
- | B Jengguar | k1 | Jul II |
- | B Sidemen | k3 | Jul II |
- | E/S Gule Liat | k1 | Jul II |
- +---------------+-------+--------+
- 10 rows in set (0.00 sec)
- SELECT
- nama,
- GROUP_CONCAT(IF(bulan='Jul I',hasil,NULL)) AS Jul_I,
- GROUP_CONCAT(IF(bulan='Jul II',hasil,NULL)) AS Jul_II
- FROM tabel
- GROUP BY nama;
- +---------------+-------+--------+
- | nama | Jul_I | Jul_II |
- +---------------+-------+--------+
- | B Benjor | k1 | k2 |
- | B Berambang | k2 | k3 |
- | B Jengguar | k4 | k1 |
- | B Sidemen | k2 | k3 |
- | E/S Gule Liat | k2 | k1 |
- +---------------+-------+--------+
- 5 rows in set (0.00 sec)
- SET @sql = NULL;
- SELECT
- GROUP_CONCAT(DISTINCT
- CONCAT(
- 'GROUP_CONCAT(IF(bulan=\'',
- bulan,
- '\',bulan,NULL)) AS \'',
- bulan,'\''
- )
- ) INTO @sql
- FROM tabel;
- SET @sql = CONCAT('SELECT nama, ', @sql, '
- FROM tabel
- GROUP BY nama');
- PREPARE stmt FROM @sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement