从excel文档导入数据后,我得到了一个看起来像这样的表(非常类似于数据透视表):
EMPLOYEEID | SKILL1 | SKILL2 | SKILL 3
---------------------------------------
emp1 | 1 | | 3
emp2 | 2 | 3 |
emp3 | | | 1
emp4 | | 2 | 3
在我的数据库中,我还有另一个表,用于存储每个技能的各个知识水平
每位员工:
EMPLOYEEID | SKILLID | LEVEL_OF_KNOWLEDGE
------------------------------------------
emp1 | SKILL1 | 1
emp1 | SKILL3 | 3
emp2 | SKILL1 | 2
emp2 | SKILL2 | 3
emp3 | SKILL3 | 1
emp4 | SKILL2 | 2
emp4 | SKILL3 | 3
我的问题是,如何从第一个表中检索数据并将其存储在第二个表中?是否可以仅使用Access查询还是我要处理vba?
我发现了很多相反的示例(将第二个表旋转到第一个表),但是我还没有找到解决这种情况的方法。
最佳答案
当然
SELECT EmployeeID, "SKILL1" AS SkillID, SKILL1 AS Level_OF_Knowledge WHERE SKILL1 IS NOT NULL
UNION ALL SELECT EmployeeID, "SKILL2" AS SkillID, SKILL2 AS Level_OF_Knowledge WHERE SKILL2 IS NOT NULL
UNION ALL SELECT EmployeeID, "SKILL3" AS SkillID, SKILL3 AS Level_OF_Knowledge WHERE SKILL3 IS NOT NULL
*为第一个表格中的每个其他列重复最后一行