我有一个表格,其中包含顾问的名字、姓氏、技能名称和认证,基本上显示了顾问是否获得了技能认证。我正在尝试创建一个脚本,该脚本将为每个顾问生成一个包含两列(技能和认证状态)的表格,一些顾问可能拥有不止一项技能。我正在考虑while循环语法或动态sql,但没有运气。我已经彻底搜索了网络,但没有运气。
问问题
1414 次
3 回答
2
你可能最好以不同的方式解决这个问题。无需为另一个表中的每条记录创建表,只需创建一个以一对多关系链接到第一个表的第二个表。
例如:
Consultant
----------
ConsultantID
Name
Skill
-----
SkillID
SkillName
F_ConsultantID
于 2012-11-20T22:25:18.263 回答
1
根据实验室问题的参数,对我有用的答案是:
USE Software
Declare @TableNameVar varchar(1000)
Declare @ConsultantIDVar int, @ConsultantIDMax int
Set @ConsultantIDVar = (Select MIN(ConsultantID) From Consultant)
Set @ConsultantIDMax = (Select MAX(ConsultantID) From Consultant)
While @ConsultantIDVar <= @ConsultantIDMax
Begin
Set @TableNameVar = (Select (ConsultantFName + '_' + ConsultantLName)
From Consultant
Where ConsultantID = @ConsultantIDVar)
Set @TableNameVar = 'Create Table '+ @TableNameVar + ' (SkillDescription varchar(40), Certification bit)'
Exec (@TableNameVar)
Set @ConsultantIDVar = @ConsultantIDVar + 1
End
于 2012-11-21T06:30:33.750 回答
1
我认为您需要一个联结或映射表,而不是您提出的解决方案。
Consultant
- ID
- First_Name
- Etc...
Skill
- ID
- Name
Consultant_Skill
- Consultant_ID
- Skill_ID
该表将允许您在和consultant_skill
之间建立多对多关系。consultant
skill
于 2012-11-20T22:28:43.623 回答