2014-01-21 3 views
0

Как связать таблицы с более чем одним внешним ключом?Как добавить несколько внешних ключей?

Например, у меня есть таблица с именем Member.

Member (Member ID, Member Name, Age, Address) 

У меня есть другой стол Member_Fees_Record.

Member_Fees_Record (Member ID, Member Name, Age, Address) 

Я хочу, чтобы таблица сборов запись, чтобы соединиться с таблицей членов, но в таблице первичный ключ моего члена является Member ID я могу только сделать его внешний ключ.

Как подключить Member Name к другой таблице?

+1

Подробнее о нормализации. Вы не должны иметь одинаковые данные в разных таблицах (дублирование данных). –

ответ

0

Как подключить Имя Пользователя к другой таблице

Не - оставьте Member Name в таблице членов. Там не должно быть никаких причин, чтобы иметь Member Name поле в Member_Fees_Record таблице, если вы можете присоединиться к нему обратно Member через ID:

Member (Member ID, Member_Name, Age, Address) 

Member_Fees_Record (Member ID, Fee) 

Пример запроса:

SELECT m.MemberId, f.Fee, m.Member_Name, m.Address, m.Age 
FROM Member m 
INNER JOIN Member_Fees_Record mf ON m.MemberID = f.MemberID 
+0

@D Stanley Как я могу присоединиться к этому члену через ID? Я не получаю его, пожалуйста, напишите ссылку на учебник ?? Или дать мне пример? Thanks –

0

Для простоты и аккуратность , поля, такие как имя участника, возраст и адрес, должны существовать только в 1 таблице. Идентификатор члена можно использовать как первичный ключ таблицы Member и как внешний ключ в Member_Fees_Record. Я думаю, что часть, которую вам не хватает, - это «соединение» между таблицами с использованием SQL.

Пример: выберите a.Member_Name, a.Age, b.Fee_Amount от члена а, б Member_Fees_Record , где a.Member_ID = b.Member_ID и a.Member_ID = 17;

+0

Как мне присоединиться к таблицам ??? –

+0

У меня есть пример выше. В двух словах вы объединяете таблицы в течение всего SQL-запроса с использованием общего поля (в вашем случае Member_ID). Таблицы и данные остаются «непривязанными» за пределами, когда выполняется ваш оператор SQL (если это имеет смысл). Существует также более современный синтаксис, который использует ключевые слова «INNER JOIN» как часть SQL-запроса. То, что я показал на примере, это старый способ сделать это. –

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