如何在sql server中的列中存储多个值

时间:2014-02-25 09:18:50

标签: sql sql-server

我正在创建工作岗位申请。在我的第一个表中,列是这是我的主表

ID
Position
jobDescription
minExp
maxExp
LastDate
InterviewDate
Project
HiringManager
interviewer
Primaryskills
SecondorySkills

和第二个表包含主要技能PrimarySkill表

ID
PrimarySkills

第三张表包含辅助技能

ID
SecondarySkills

第四张表包含访问员

ID
Interviewer
问题是,如果一个人有多个技能和多个面试官,那么如何在Master表中插入主要技能表,第二技能表和面试官表中的值。我不想以逗号分隔

存储值

4 个答案:

答案 0 :(得分:0)

在所有3个案例中,它有多对多的关系。这意味着您需要主表和其他表之间的表。

e.g。

 MasterTable
 MasterID

 PrimarySkillTable
 PrimarySkillID

 PrimarySkillMasterTable
 MasterID - this key references the mastertable
 PrimarySkillID - this key references the primaryskilltable

所有键都是主键。

我希望你理解我的意思。

答案 1 :(得分:0)

您需要更改数据库的结构,并在其中包含多对多的关系。

查看this link,并以示例解释它。

有关所有关系的完整详细信息,请访问this link,并相应地修改数据库设计。

答案 2 :(得分:0)

据我所知,你有3个独立的多对多关系,并且只有一种方法可以在SQL中正确解决M:N。第三个表连接主表和从表

看看这张小图片:

M to N example

  • 联系人是所有联系人列表
  • Hobby是所有可用Hobbys的列表
  • ContactHasHobbys创建一个与单个联系人关联的爱好列表

答案 3 :(得分:0)

表1:InterviewMaster


作业ID

位置

JobDescription

minExp

maxExp

LastDate

REquiredSkillSetId


表2:InterviewDetail


作业ID

InterviewDate

专案编号

HiringManagerID(HRpersonnel中的empid)

InterviewerId(人事部门)


表3:HRPersonnel


的EmpID

说明(InterViewer / HiringManager)

SkillSetId


表4:SkillSet(类似.NET / JAVA)


SkillSet Id

描述


表5:技能细节(详情)


SkillSet Id

描述

这只是一个大纲。