используя сериализацию в виде агрегирующей функции http://dev.mysql.com/doc/refman/4.1/en/group-by-functions.html#function_group-concat, можно слить кучу записей в одну строку с разделителями(аналог функции http://php.net/implode), но есть ньюансы: - используемое в качестве разделителя не может встречаться в "соединяемых" значениях - потом не отделишь одно от другого - есть ограничение на максимальную длину подобной строки: group_concat_max_len; это ограничение можно изменить, но если пользователь имеет права на изменения переменных сервера - необходимо парсить --------------------------- используя динамический SQL с созданием представления(view) с проивзольным генерируемым именем, которое ты и будешь возвращать, а после обработки - прибивать. если имя представления будет достаточно уникальным(всякие там GUID() для генерации приветствуются), то коллизий не будет. Но я не уверен, что такой подход реально реализовать: это только идея. динамический SQL точно не работает в функциях(даже если оно используется не напрямую, а из процедуры, вызываемой из функции). может и в процедурах быть какие-то ограничения. я не в курсе :( --------------------------- в любом случае, на твоем месте я бы попытался поставить задачу так, чтоб для её решения не использовались приёмы, нетипичные для работы с реляционными СУБД(всякие там динамические SQL и сериализация с парсингом - это костыли) |