2014-01-08 5 views
0

У меня есть таблица под названием champions с колонками champion_name, champion_item1 по champion_item16. Столбцы champion_itemX представляют собой целые ссылки на items.item_number.Показать имя элемента вместо id

У меня есть другой стол под названием items с колонками item_number, item_name и item_property.

Я хотел бы получить результат, где он перечислит:

-------------------------------------------------------------------- 
champion_name | champion_item1 | champion_item... | champion_item16 | 
--------------------------------------------------------------------- 
Legolas  | belt   | ...    | hat    | 
--------------------------------------------------------------------- 

или, еще лучше, перечислить все элементы из чемпиона Леголаса:

----------------------------------------------------- 
champion_item1 | belt  |It holds your pants | 
----------------------------------------------------- 
champion_item...| ...  |   ...  | 
----------------------------------------------------- 
champion_item16 | hat  | It holds your wig | 
----------------------------------------------------- 

возможно ли это?

+5

Хранение большого числа столбцов одного и того же отношения плохая практика. Вместо этого вы должны использовать отношения * many-to-many * через [таблицу соединений] (http://en.wikipedia.org/wiki/Junction_table) – Phil

+0

Это выполнимо (я позволю другим ответить, как), но если вы имеют возможность реструктурировать ваши таблицы, вам, вероятно, лучше будет служить нормализация вашего чемпиона в отношении отношения к таблице [edit: not "join"] junction (thx @Phil). – Palpatim

+0

@Palpatim Я всегда называл их * ассоциативными сущностями *, но эта статья wiki делает ее кристально чистой :) – Phil

ответ

Смежные вопросы