Показать сообщение отдельно
  #4  
Старый 06.08.2008, 11:34
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

Цитата:
Сообщение от jdie
Господа!
Есть две таблицы:
-users
id, user_name

-roles
id, user_id, role

в таблице roles может быть несколько записей, в зависимости от количества ролей.

хочу чтобы запрос выводил user_name, список ролей через запятую.

Так можно только через процедуры, что-то вроде этого

Код:
CREATE PROCEDURE GetTextRole (
    userid integer)
returns (
    roles_text varchar(200))
as
declare variable rolename varchar(50);
begin
  roles_text='';
  for
    select role from roles where roles.iser_id=:userid into :rolename do
    begin
       roles_text=roles_text || :rolename || ',';
    end
  suspend;
end^

Затем в запросе вызывать:
select users.id, users.user_name, gettextrole(users.id) from users
Ответить с цитированием