Блин... что-то не могу составить правильный запрос.
Прошу помощи.
Есть набор записей:
Мне надо найти записи в которых "номер из меньшей даты был больше минимального номера из большей".
Составил вроде и доп. запрос:
Но как правильно получить результат?
Должно быть:
Прошу помощи.
SELECT @@VERSION Microsoft SQL Server 2012 - 11.0.5058.0 (X64) May 14 2014 18:34:29 Copyright (c) Microsoft Corporation Express Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
Есть набор записей:
SELECT R.Num, CONVERT(varchar(10),R.Date,104) as Date1, R.Date FROM ( SELECT 1 as Num, CAST('20100101' as datetime) as Date UNION ALL SELECT 2, CAST('20100102' as datetime) UNION ALL SELECT 3, CAST('20100103' as datetime) UNION ALL SELECT 4, CAST('20100102' as datetime) UNION ALL SELECT 5, CAST('20100103' as datetime) UNION ALL SELECT 10, CAST('20100103' as datetime) UNION ALL SELECT 7, CAST('20100104' as datetime) UNION ALL SELECT 6, CAST('20100103' as datetime) UNION ALL SELECT 8, CAST('20100103' as datetime) UNION ALL SELECT 13, CAST('20100103' as datetime) UNION ALL SELECT 9, CAST('20100105' as datetime) ) R ORDER BY R.Date,R.Num;
Мне надо найти записи в которых "номер из меньшей даты был больше минимального номера из большей".
Составил вроде и доп. запрос:
SELECT CONVERT(varchar(10),R.Date,104) as Date1, R.Date, MIN(R.Num) as Min_N, MAX(R.Num) as Max_N FROM ( SELECT 1 as Num, CAST('20100101' as datetime) as Date UNION ALL SELECT 2, CAST('20100102' as datetime) UNION ALL SELECT 3, CAST('20100103' as datetime) UNION ALL SELECT 4, CAST('20100102' as datetime) UNION ALL SELECT 5, CAST('20100103' as datetime) UNION ALL SELECT 10, CAST('20100103' as datetime) UNION ALL SELECT 7, CAST('20100104' as datetime) UNION ALL SELECT 6, CAST('20100103' as datetime) UNION ALL SELECT 8, CAST('20100103' as datetime) UNION ALL SELECT 13, CAST('20100103' as datetime) UNION ALL SELECT 9, CAST('20100105' as datetime) ) R GROUP BY R.Date ORDER BY R.Date;
Но как правильно получить результат?
Должно быть:
|