从多个表中选择最大值和最小值

时间:2014-06-27 12:42:56

标签: sql-server

我正在使用SQL Server 2012.我有两个包含日期的表。我想查询两个表的最大和最小日期。我知道下面的一行会给我一张桌子的最大和最小日期。

 select max(dtTime), min(dtTime) from tableOne

我想要做的是从第一和第二表中得到两个最大日期的最小值。表中两个最小日期的最大值。请参阅下面的示例。

           TableOne       TableTwo
 Max Date  6-June-2000    23-June-2002
 Min Date  10-Jan-1980    15-Feb-1982

结果我想回来,

Max Date = 6-June-2000
Min Date = 15-Feb-1982

2 个答案:

答案 0 :(得分:1)

您可以使用UNION,然后从最大值中选择最小值,从最小值中选择最大值:

SELECT min(mx), max(mn) 
FROM (
      SELECT max(dtTime) AS `mx`, min(dtTime) AS `mn` FROM tableOne
      UNION
      SELECT max(dtTime) AS `mx`, min(dtTime) AS `mn` FROM tablTow
     ) AS t1

答案 1 :(得分:-1)

select max(t1.dtTime), min(t2.dtTime) from tableOne as t1, tableTwo as t2