#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