Niezależnie od używanej bazy danych koncepcja tego, co próbujesz osiągnąć, nazywa się „Tabelą przestawną”.
Oto przykład dla mysql:http://en.wikibooks.org/wiki/MySQL/Pivot_table
Niektóre bazy danych mają w tym celu wbudowane funkcje, zobacz poniższe linki.
SQLServer:http://msdn.microsoft.com/de-de/library /ms177410.aspx
Oracle:http://www.dba-oracle.com/t_pivot_examples.htm
Zawsze możesz utworzyć oś obrotu ręcznie. Wystarczy wybrać wszystkie agregacje w zestawie wyników, a następnie wybrać z tego zestawu wyników. Zauważ, że w twoim przypadku możesz umieścić wszystkie nazwy w jednej kolumnie za pomocą concat (myślę, że to group_concat w mysql), ponieważ nie możesz wiedzieć, ile nazw jest powiązanych z rel_id.
pseudo-wybierz dla swojego przypadku (nie znam mysql):
select rel_id, group_concat(name) from item group by rel_id