2

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

私の質問は、最初のテーブルからデータを取得して 2 番目のテーブルに保存するにはどうすればよいですか? Accessクエリのみを使用することは可能ですか、それともvbaを扱う必要がありますか?

私は反対のことをしている例をたくさん見つけました (2 番目のテーブルをピボットして最初のテーブルを取得します) が、このケースを解決する方法を見つけることができませんでした。

4

1 に答える 1

4

もちろん

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

*最初のテーブルの追加の列ごとに最後の行を繰り返します

于 2013-08-30T15:42:24.910 に答える