是所有行的VAR1 ,VAR2,VAR3 比较吗?若是则如下:
最小数的id:
select top 1 id
from t
order by (
case when (case when var1>var2 then var1 else var2 end)>var3
then (case when var1>var2 then var1 else var2 end)
else var3 end)
最大数的id:
select top 1 id
from t
order by (
case when (case when var1>var2 then var1 else var2 end)>var3
then (case when var1>var2 then var1 else var2 end)
else var3 end) desc
最小数的id:
select top 1 id
from t
order by (
case when (case when var1>var2 then var1 else var2 end)>var3
then (case when var1>var2 then var1 else var2 end)
else var3 end)
最大数的id:
select top 1 id
from t
order by (
case when (case when var1>var2 then var1 else var2 end)>var3
then (case when var1>var2 then var1 else var2 end)
else var3 end) desc
insert #t values(1.2, 2.2, 2.1)
insert #t values(10, 8, 6)
insert #t values(4, 5.5, 3)
select id,
(select max(var1) from
(
select var1 from #t where id = a.id
union all select var2 where id = a.id
union select var3 where id = a.id
) aa
) as maxVar
from #t a/*
id maxVar
----------- ------------
1 2.20
2 10.00
3 5.50(所影响的行数为 3 行)*/