从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


*为第一个表格中的每个其他列重复最后一行

08-06 18:21