Select 来自多列的最新信息并合并到一个字段中

Select most recent from multiple columns and combine into a single field

我有一个 table,我试图从每个用户的字段 b 或字段 c 中获取最新日期。然后将其组合成一个字段。使用 MS Access 2016

示例。

USER FieldB FieldC
1 1/1/2020 2/1/2020
2 1/1/2020 -
3 - 3/1/2020
4 - -

我需要这样返回的数据。

USER FieldB
1 2/1/2020
2 1/1/2020
3 3/1/2020
4 -

非常感谢任何帮助。提前谢谢你。

编辑:使其适用于以下查询。我确定有更优雅的解决方案。

SELECT
USER, Max(FieldB) as FieldD
FROM ( SELECT
       USER, FieldB
       FROM Table
       UNION
       SELECT
       USER, FieldC
       FROM Table) as T1
GROUP BY USER
SELECT
USER, Max(FieldB) as FieldD
FROM ( SELECT
       USER, FieldB
       FROM Table
       UNION
       SELECT
       USER, FieldC
       FROM Table) as T1
GROUP BY USER

这是我最终想出的答案,仍然希望能有更优雅的答案。

不使用 UNION 的另一种方式

SELECT Table.User, IIf(FieldB>FieldC,FieldB,FieldC) AS NewField
FROM [Table];