使用两个数据(外键)填充DB字段

时间:2013-10-09 15:49:38

标签: mysql sql join foreign-keys

我有一张桌子(名字),我在那里保存名字和一张桌子(anrede)作为称呼。 现在,如果人们设置了一个新的联系人姓名,可以设置例如:John(作为名字),Doe(作为姓氏)和Mr.(作为称呼),所以我得到了数据“John Doe先生”。 names table salutation table

现在我遇到了多个学术成绩的问题。 例如,在德国,他可以是“John Doe博士”(如果他是医生)或“John Doe博士教授”(如果他有医生和教授级别)。

我在“anrede”表中保存了所有的salutaions,但我不想保存“Dr.,Prof。和Prof. Dr.”但只有博士和教授

称呼在“名称”表中保存为外键(anrede_id)。

那么有可能在那里保存多个数据集吗?

1 个答案:

答案 0 :(得分:1)

你可以创建像AgRizzo推荐的第三张表。它可能看起来像:

<强> Link_name_anrede
名_ID
anrede_id

对于每个人的新称呼,您都会在 Link_name_anrede 表中添加记录。

然后获取一个人使用以下查询的称呼列表

SELECT salutation 
FROM anrede 
    INNER JOIN Link_name_anrede ON anrede.ID = Link_name_anrede.anrede_id
WHERE name_id = 3