访问 - 检索状态和日期拼图

问题描述 投票:0回答:1

在Access 2016中,我有以下表格:

Table1
------
| ID | FK_ID | Status_date |Status_ID |
---------------------------------------
| 1  | 11    | d1          | 1        |
| 2  | 11    | d2          | 2        |
| 3  | 22    | d3          | 3        |
| 4  | 22    | d4          | 3        |

LookupTable1
------------
| OBJ_ID | Status |
-------------------
| 1      | A      |
| 2      | B      |
| 3      | C      |

我想产生以下结果。这最终将导出到Excel。

xls report
==========
| FK_ID | Status_1_date | Status_2_date | Status_3_date |  <-- these will be aliased
=========================================================
| 11    | d1            | d2            |               |
| 22    |               |               | d4            |

我正在努力解决的难题的部分是,似乎至少有这些不同的方法来实现这一点a)多个Access查询b)具有内联查询的单个Access查询(可能?)c)VBA代码d)在SQL Server本身e)其他...创建和维护它的最简单方法是什么,因为LookupTable1.Status值会发生变化。

sql ms-access
1个回答
1
投票

看起来像一个简单的CROSSTAB查询:

TRANSFORM Max(Table1.Status_date) AS MaxOfStatus_date
SELECT Table1.FK_ID
FROM Table1
GROUP BY Table1.FK_ID
PIVOT Table1.Status_ID;

如果希望输出显示“状态别名”值,请首先加入两个表,然后使用“状态”字段作为CROSSTAB中的列标题。

© www.soinside.com 2019 - 2024. All rights reserved.