Independentemente do banco de dados que você está usando, o conceito do que você está tentando alcançar é chamado de "Tabela Dinâmica".
Aqui está um exemplo para mysql:http://en.wikibooks.org/wiki/MySQL/Pivot_table
Alguns bancos de dados possuem recursos embutidos para isso, veja os links abaixo.
SQLServer:http://msdn.microsoft.com/de-de/library /ms177410.aspx
Oracle:http://www.dba-oracle.com/t_pivot_examples.htm
Você sempre pode criar um pivô manualmente. Basta selecionar todas as agregações em um conjunto de resultados e, em seguida, selecionar a partir desse conjunto de resultados. Observe que, no seu caso, você pode colocar todos os nomes em uma coluna usando concat (acho que é group_concat no mysql), já que você não pode saber quantos nomes estão relacionados a um rel_id.
pseudo-select para o seu caso (não conheço o mysql):
select rel_id, group_concat(name) from item group by rel_id