ms-access - 如何在 Access 中为表构建自定义主键?
问题描述
我正在将 csv 文件中的数据导入到如下所示的表中:
+------------+------------------------+----------------+
| date_1 | tournament_1 | misc_1 |
+------------+------------------------+----------------+
| 01/01/2020 | ATP-ACAPULCO | random_data_1 |
| 01/01/2020 | ATP-ACAPULCO | random_data_2 |
| 02/01/2020 | ATP-ACAPULCO | random_data_3 |
| 01/01/2020 | CALGARY-CHALLENGER-MEN | random_data_4 |
| 02/01/2020 | CALGARY-CHALLENGER-MEN | random_data_5 |
| 02/01/2020 | CALGARY-CHALLENGER-MEN | random_data_6 |
| 03/01/2020 | CALGARY-CHALLENGER-MEN | random_data_7 |
| 03/01/2020 | CALGARY-CHALLENGER-MEN | random_data_8 |
| 01/01/2021 | ATP-ACAPULCO | random_data_9 |
| 01/01/2021 | ATP-ACAPULCO | random_data_10 |
| 02/01/2021 | ATP-ACAPULCO | random_data_11 |
| 02/01/2021 | CALGARY-CHALLENGER-MEN | random_data_12 |
| 03/01/2021 | CALGARY-CHALLENGER-MEN | random_data_13 |
+------------+------------------------+----------------+
我需要能够将此表链接到另一个链接表,该表具有来自另一个系统的锦标赛列表:
+------+----------------------+
| id_2 | tournament_2 |
+------+----------------------+
| 123 | Mexico-Acapulco-2020 |
| 456 | Canada-Calgary-2020 |
| 789 | Mexico-Acapulco-2021 |
| 1011 | Canada-Calgary-2021 |
+------+----------------------+
由于第二个表是链接的,所以我的计划是建立第三个“交叉引用”表:
+------+----------------------+------------------------+
| id_2 | tournament_2 | tournament_1 |
+------+----------------------+------------------------+
| 123 | Mexico-Acapulco-2020 | ATP-ACAPULCO |
| 456 | Canada-Calgary-2020 | CALGARY-CHALLENGER-MEN |
| 789 | Mexico-Acapulco-2021 | ATP-ACAPULCO |
| 1011 | Canada-Calgary-2021 | CALGARY-CHALLENGER-MEN |
+------+----------------------+------------------------+
但是,我需要独特的比赛对,而我不需要。
为了解决这个问题,我可以为第一个表构建一个主键,如下所示:
+------------+------------------------+----------------+-----------------------------+
| date_1 | tournament_1 | misc_1 | tournament+year_1 |
+------------+------------------------+----------------+-----------------------------+
| 01/01/2020 | ATP-ACAPULCO | random_data_1 | ATP-ACAPULCO-2020 |
| 01/01/2020 | ATP-ACAPULCO | random_data_2 | ATP-ACAPULCO-2020 |
| 02/01/2020 | ATP-ACAPULCO | random_data_3 | ATP-ACAPULCO-2020 |
| 01/01/2020 | CALGARY-CHALLENGER-MEN | random_data_4 | CALGARY-CHALLENGER-MEN-2020 |
| 02/01/2020 | CALGARY-CHALLENGER-MEN | random_data_5 | CALGARY-CHALLENGER-MEN-2020 |
| 02/01/2020 | CALGARY-CHALLENGER-MEN | random_data_6 | CALGARY-CHALLENGER-MEN-2020 |
| 03/01/2020 | CALGARY-CHALLENGER-MEN | random_data_7 | CALGARY-CHALLENGER-MEN-2020 |
| 03/01/2020 | CALGARY-CHALLENGER-MEN | random_data_8 | CALGARY-CHALLENGER-MEN-2020 |
| 01/01/2021 | ATP-ACAPULCO | random_data_9 | ATP-ACAPULCO-2021 |
| 01/01/2021 | ATP-ACAPULCO | random_data_10 | ATP-ACAPULCO-2021 |
| 02/01/2021 | ATP-ACAPULCO | random_data_11 | ATP-ACAPULCO-2021 |
| 02/01/2021 | CALGARY-CHALLENGER-MEN | random_data_12 | CALGARY-CHALLENGER-MEN-2021 |
| 03/01/2021 | CALGARY-CHALLENGER-MEN | random_data_13 | CALGARY-CHALLENGER-MEN-2021 |
+------------+------------------------+----------------+-----------------------------+
然后我可以创建一对一的配对,如下所示:
+------+----------------------+-----------------------------+
| id_2 | tournament_2 | tournament_1 + year_1 |
+------+----------------------+-----------------------------+
| 123 | Mexico-Acapulco-2020 | ATP-ACAPULCO-2020 |
| 456 | Canada-Calgary-2020 | CALGARY-CHALLENGER-MEN-2020 |
| 789 | Mexico-Acapulco-2021 | ATP-ACAPULCO-2021 |
| 1011 | Canada-Calgary-2021 | CALGARY-CHALLENGER-MEN-2021 |
+------+----------------------+-----------------------------+
但是,我无法通过计算字段创建密钥,因为我无法链接它,所以我不得不依靠一些 VBA 来在导入时创建它。
我在这里错过了更简单或更优雅的解决方案吗?
解决方案
推荐阅读
- google-colaboratory - 用于 google colab 的代码格式化程序,例如 nb_black
- git - Git Bash显示错误的名称
- javascript - 电子邮件正则表达式无法与 javascript/angular 一起正常工作
- express - 如何在 http2 中的 react js 中提供 index.html
- excel - 未创建 vba 数据透视缓存
- python - H5PY:写入复杂选择时不支持广播
- c++ - 线程化的第一步失败
- python - _tkinter.TclError:错误的窗口路径名“.!checkbutton”
- javascript - 更改全日历上的事件显示 - 不应突出显示完整持续时间
- c - char 数组中的位操作