我有一个表数据库,每个表包含两列,第一列是代码,第二列是数量。这些表是从每天创建的数据中提取的,如果代码在该日期由外部事件触发,则代码将具有特定日期的数据。对于例如2015-10-02日的表格如下:
Code 2015-10-02
1 321.23
2 3442.13
3 679.2
4 6201.4
因此每个表都有相同的第一列(代码),但代码每天都会有所不同。有些日子我们可能会触发不同于前一天的任何代码(第一次被触发),或者可能在前一天被触发,但数量不同。我想要创建的表格如下:
Code 2015-10-02 2015-10-03 2015-10-04 ....
1 321.23 0 0
2 3442.13 0 10.42
3 679.2 41.2 0
4 294.12 41.31 1042.12
5 0 0 371.14
.
.
我知道我可以加入所有表格,但我想添加任何新代码,并假设前几天没有触发代码的每个代码为0。 有没有一种简单的方法可以通过VBA / SQL执行此操作?
由于
答案 0 :(得分:3)
拿去。这不是数据库的工作方式。
你需要一个包含3列的表,如下所示:
+------+------------+---------+
| Code | Date | Amount |
+------+------------+---------+
| 1 | 2015-10-02 | 321.23 |
| 2 | 2015-10-02 | 3442.13 |
| 3 | 2015-10-02 | 679.2 |
| 4 | 2015-10-02 | 6201.4 |
| 3 | 2015-10-03 | 41.2 |
+------+------------+---------+
代码+日期是主键。
然后,您可以使用交叉表查询获取代码与日期的矩阵(使用向导)。