我有一些我无法弄清楚的东西,比如你有桌子
if object_id('tempdb..#Test') IS NOT NULL drop table #Test
create table #Test (ID int, Value1 int, Value2 int, Value3 int, Value4 int, Value5 int)
insert into #Test values
(1, 1, 4, 6, 7, 3),
(2, 0, 0, 3, 4, 5),
(3, 5, 2, 4, 2, 1),
(4, 0, 1, 1, 7, 2)
因此,从此表中,我希望选择ID,具有最小值的列的名称和具有最大值的列的名称,忽略值为0的列
结果会是......
ID MinValue MaxValue
1 Value1 Value4
2 Value3 Value5
3 Value5 Value1
4 Value2 Value4
我怎么能用sys表来完成这个?交叉申请?想法不是与案例一致,因为我不确定我将拥有多少列(当我必须做这样的事情时,我理解它是糟糕的表格结构)