У меня есть таблица под названием 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 |
-----------------------------------------------------
возможно ли это?
Хранение большого числа столбцов одного и того же отношения плохая практика. Вместо этого вы должны использовать отношения * many-to-many * через [таблицу соединений] (http://en.wikipedia.org/wiki/Junction_table) – Phil
Это выполнимо (я позволю другим ответить, как), но если вы имеют возможность реструктурировать ваши таблицы, вам, вероятно, лучше будет служить нормализация вашего чемпиона в отношении отношения к таблице [edit: not "join"] junction (thx @Phil). – Palpatim
@Palpatim Я всегда называл их * ассоциативными сущностями *, но эта статья wiki делает ее кристально чистой :) – Phil