选择最小值的列名称

时间:2017-06-10 15:55:38

标签: sql-server

我有一些我无法弄清楚的东西,比如你有桌子

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表来完成这个?交叉申请?想法不是与案例一致,因为我不确定我将拥有多少列(当我必须做这样的事情时,我理解它是糟糕的表格结构)

0 个答案:

没有答案