首页 > 解决方案 > 如何比较两个表之间的日期时间戳

问题描述

我有这样的场景,要比较来自不同表的两个日期时间戳,并且必须从第一个表中获取最新日期,如果表 2 日期 > 表 1 日期,那么我不想使用那个日期。我想用整行的时间戳取第一个表的最大日期..请建议如何实现它..

表格1

CS. No.       Date.                          
C1.         01/10/2018 04:10     
C2.         24/08/2019 05:45

表 2

S.no.     CS.No    Date
A1.          C1.       01/10/2018 04:05
A2.           C1.      28/08/2018 04:00
A1.           C2.      25/08/2019 03:00 

输出表:

 CS.No.          Date.                  Timestamp
C1.       01/10/2018 04.10.    4.10

标签: sqlsql-server

解决方案


如果我做对了,您可以UNION同时使用两个表,然后使用聚合来获取最大时间戳。

SELECT [CS. No.] [CS.No],
       max([Date.]) [Date.]
       FROM (SELECT [CS. No.],
                    [Date.]
                    FROM [Table1]
             UNION ALL
             SELECT [CS.No],
                    [Date]
                    FROM [Table2]) [x]
       GROUP BY [CS. No.];

推荐阅读