выберите max и min из нескольких таблиц

#sql-server

#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
 

Комментарии:

1. Возвращается из чего — вы пишете хранимую процедуру, функцию в коде, которая что-то отображает?

Ответ №1:

Вы можете использовать ОБЪЕДИНЕНИЕ, а затем выбрать минимальное из максимальных значений и максимальное из минимальных значений:

 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
 

Ответ №2:

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