У меня есть таблица tblNoComp, которая имеет два столбца, оба внешних ключа, указывающие на tblPackage.ID. Цель tblNoComp - хранить, какие пакеты несовместимы друг с другом, просто сохраняя идентификатор этих пакетов в двух столбцах, OneID
и TwoID
.Создание представления: множественные отношения внешних ключей к одной таблице
Не может быть лучшим способом его хранения, но поскольку несколько пакетов несовместимы с другими, это, по-видимому, является наиболее логичным.
Попытка создать представление, которое показывает tblPackage.Name для двух бок о бок - у меня есть следующие, но не знаете, как получить TwoID
Имя пакета ..
ВЫБРАТЬ tblNoComp
. OneID
, tblPackages
. Package
, tblNoComp
. TwoID
, tblPackages
. Package
ОТ tblNoComp, tblPackages ГДЕ (tblNoComp
. OneID
= tblPackages
. PID
)
В настоящее время второй tblPackages
. Package
просто показывает имя OneID, а не TwoID .. Не знаете, как решить?
Спасибо!
- При наличии простого вопроса я искал час, но не смог правильно описать свою проблему.
Возможный дубликат [Как вы присоединяетесь к одной таблице дважды в mysql?] (Http://stackoverflow.com/questions/199953/how-do-you-join-on-the-same-table -twice-in-mysql) – David
Чтобы дать резюме, вам, по сути, нужно сделать «псевдоним» объединенной таблицы в запросе, чтобы вы могли присоединиться к ней дважды под двумя именами (на двух клавишах). По существу, обрабатывать ту же таблицу, что и две отдельные объединенные таблицы. – David
Также полезно: http://stackoverflow.com/q/3201359/328193 и http://stackoverflow.com/q/7515202/328193 и http://forums.mysql.com/read.php?10,190885 – David