27,579
社区成员
发帖
与我相关
我的任务
分享
CREATE table test
(
[no] INT,
time1 INT ,
time2 INT
)
INSERT INTo test
select 1, 2014, 2015 union all
select 2, 2015, 2014 union all
select 3, 2013, 2017 union all
select 4, 2013, 2013
--SELECT * FROM DATA
select [no],
case when time1 < time2 then time2
else time1
end as time3
from test
create table #tb
(
ID INT,
COL1 INT,
COL2 INT
)
INSERT INTO #tb
SELECT 1,2014,2015 UNION ALL
SELECT 2,2015,2014 UNION ALL
SELECT 3,2013,2017 UNION ALL
SELECT 4,2013,2013
;WITH CTE AS
(
SELECT ID,COL1 AS COL
FROM #tb
UNION ALL
SELECT ID,COL2
FROM #tb
)
SELECT ID,MAX(COL)
FROM CTE
GROUP BY ID
/*
ID
----------- -----------
1 2015
2 2015
3 2017
4 2013
(4 行受影响)
*/