Independientemente de la base de datos que esté utilizando, el concepto de lo que está tratando de lograr se llama "Tabla dinámica".
Aquí hay un ejemplo para mysql:http://en.wikibooks.org/wiki/MySQL/Pivot_table
Algunas bases de datos tienen características integradas para eso, consulte los enlaces a continuación.
SQLServer:http://msdn.microsoft.com/de-de/library /ms177410.aspx
Oracle:http://www.dba-oracle.com/t_pivot_examples.htm
Siempre puedes crear un pivote a mano. Simplemente seleccione todas las agregaciones en un conjunto de resultados y luego seleccione de ese conjunto de resultados. Tenga en cuenta que, en su caso, puede poner todos los nombres en una columna usando concat (creo que es group_concat en mysql), ya que no puede saber cuántos nombres están relacionados con un rel_id.
pseudo-seleccione para su caso (no sé mysql):
select rel_id, group_concat(name) from item group by rel_id