SQL两个不相关表中的前1个

时间:2017-05-02 16:40:44

标签: sql sql-server

我看过类似的问题,但没有解决我的具体问题:

我有两个不相关的表,其中包含一个带有数字日期的列(例如201704030000)。我希望从两个表中提取最早的日期作为结果。

所以基本上我需要来自两个Top(1)子查询的最低结果,其中两个子查询按日期ASC排序。

谢谢!

2 个答案:

答案 0 :(得分:0)

这就是你所说的你想要的。它从两个联合编辑的前1个查询中获得前1名。

select top 1 dt
from (
  select top 1 TicketDate as dt
  from t1
  order by dt asc
  union all
  select top 1 TimesheetDate as dt
  from t2
  order by dt asc
  ) u
order by dt asc

答案 1 :(得分:0)

我个人会在SqlZim的代码中用min()替换top 1。使代码更短,更易读 - 但应该没有性能差异。