Давно никто ничего не выкладывал здесь. А жаль. Разминка для мозга полезна

Ну что ж - выложу небольшую задачку. Она достаточно проста, но как говорится на безрыбье... В общем вы поняли =)
На данную задачку меня натолкнул следующий факт: все чащи люди неправильно проектируют структуру БД, а потом страдают.
Возьмем пример:
Код:
login | param | value
--------------------------------------
Alex | City | London
Alex | RegDate | 22-04-2009
Alex | Email | aswer@yahoo.com
Nata | City | Paris
Nata | RegDate | 15-07-2009
Nata | Email | dser@mail.com
Налицо безграмотнейшее составление структуры. Отношение не находится даже в 1НФ.
И как следствие у людей начинаются большие проблемы с составлением запросов =)
И начинают они плакаться в соцсетях с просьбами о помощи.
Так вот - нормальную структуру, допустим, выяснили, осталось сконвертить для нее данные.
Структура:
Код:
login | city | regdate | email
Т.е. задача состоит в том, что бы из вышеприведенной таблички одним запросом получить данные в формате, приведенном выше.
Дамп базы (для ленивых, что б не создавать структуру и не писать инсерты):
Код:
CREATE TABLE IF NOT EXISTS `tst` (
`login` varchar(20) NOT NULL DEFAULT '',
`param` varchar(10) NOT NULL DEFAULT '',
`value` varchar(20) DEFAULT NULL,
PRIMARY KEY (`login`,`param`)
);
INSERT INTO `tst` (`login`, `param`, `value`) VALUES
('Alex', 'City', 'London'),
('Alex', 'Email', 'aswer@yahoo.com'),
('Alex', 'RegDate', '22-04-2009'),
('Nata', 'City', 'Paris'),
('Nata', 'Email', 'dser@mail.com'),
('Nata', 'RegDate', '15-07-2009');
Задача решается не одним способом =) Итак - разомните мозги, отложите на минутку свой "набор кавычек".