22,209
社区成员
发帖
与我相关
我的任务
分享
WITH cte AS (
SELECT '2017-02-02' AS date1,'2017-08-05' AS date2,'2017-06-08' AS date3
UNION ALL
SELECT '2017-09-02','2017-11-05','2016-12-08'
)
SELECT date1,
date2,
date3,
mindate = (
SELECT min(date1)
FROM (
SELECT date1
UNION ALL
SELECT date2
UNION ALL
SELECT date3
)T
)
FROM cte
date1 date2 date3 mindate
---------- ---------- ---------- ----------
2017-02-02 2017-08-05 2017-06-08 2017-02-02
2017-09-02 2017-11-05 2016-12-08 2016-12-08
(2 行受影响)
上面取到最大值去了,不好意思
WITH cte AS (
SELECT '2017-02-02' AS date1,'2017-08-05' AS date2,'2017-06-08' AS date3
UNION ALL
SELECT '2017-09-02','2017-11-05','2016-12-08'
)
SELECT date1,
date2,
date3,
mindate = (
SELECT MAX(date1)
FROM (
SELECT date1
UNION ALL
SELECT date2
UNION ALL
SELECT date3
)T
)
FROM cte
date1 date2 date3 maxdate
---------- ---------- ---------- ----------
2017-02-02 2017-08-05 2017-06-08 2017-08-05
2017-09-02 2017-11-05 2016-12-08 2017-11-05
(2 行受影响)