问题描述
我有一个表,我试图从每个用户的字段 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
解决方法
另一种不使用 UNION 的方法
SELECT Table.User,IIf(FieldB>FieldC,FieldB,FieldC) AS NewField
FROM [Table];
,
SELECT
USER,Max(FieldB) as FieldD
FROM ( SELECT
USER,FieldB
FROM Table
UNION
SELECT
USER,FieldC
FROM Table) as T1
GROUP BY USER
这是我最终想出的答案,仍然希望得到更优雅的答案。