|
-- schema |
|
CREATE TABLE triplets ( |
|
id INT NOT NULL AUTO_INCREMENT, |
|
country VARCHAR(35), |
|
attr VARCHAR(35), |
|
val VARCHAR(35), |
|
PRIMARY KEY(Id) |
|
); |
|
|
|
INSERT INTO triplets |
|
(country,attr, val) |
|
VALUES |
|
("US","President","Obama" ), |
|
("US","Currency","Dollar"), |
|
("US","Capitol City","Washington DC"), |
|
("China","President","Hu"), |
|
("China","Currency","Yuan"), |
|
("China","Capitol City","Bejing"), |
|
("Israel","Currency","Shekel"), |
|
("Israel","President","Peres"), |
|
("Israel","Capitol City","Jerusalem"), |
|
("Israel","Language","Hebrew"), |
|
("Israel","Language","Arabic"), |
|
("Israel","Capitol City","Tel Aviv"), |
|
("China","Language","Cantoneese"), |
|
("China","Language","Mandarin"), |
|
("US","Language","English"), |
|
("Japan","Language","Japaneese"), |
|
("Japan","Currency","Yen"), |
|
("Japan","Capitol City", "Tokyo"), |
|
("UK","Language", "English"), |
|
("UK","Currency", "Pound"), |
|
("UK","Capitol City", "London"), |
|
("UK","Monarch", "Elizabeth II"), |
|
("UK","Prime Minister", "Theresa May"), |
|
("Japan","Emperor", "Akihito"), |
|
("Japan","Prime Minister", "Shinzō Abe"), |
|
("Israel","Prime Minister", "Binyamin Netanyahu") |
|
; |
|
|
|
|
|
SELECT Country, |
|
GROUP_CONCAT(CASE WHEN attr IN ("President","Prime Minister","Monarch","Emperor") THEN val ELSE NULL END) as Leader, |
|
MAX(CASE WHEN attr = "Currency" THEN val ELSE NULL END) as Currency, |
|
GROUP_CONCAT(CASE WHEN attr = "Capitol City" THEN val ELSE NULL END) as Capitol, |
|
GROUP_CONCAT(CASE WHEN attr = "Language" THEN val ELSE NULL END) as Lang |
|
FROM triplets |
|
GROUP BY country |
|
ORDER BY country; |
|
; |
|
|
|
SELECT * |
|
FROM triplets |
|
ORDER BY country; |