考慮有序表11列:
timespan, val1, val2, val3, val4, val5, val6, val7, val8, val9 and val10
如何檢索多列中的「最後」非零值?
假設一組類似記錄:
timespan val1 val2 val3 val4 val5 val6 val7 val8 val9 val10
10/09/2011 0 0 60 80 40 0 0 40 80 0
10/10/2011 0 10 90 30 70 50 50 70 30 90
10/11/2011 10 0 20 0 0 60 60 0 0 20
我需要一個SQL查詢(SQL Server 2012的),它返回的最後(時間)所有列非零值,VAL1,VAL2,......,就是
val1 val2 val3 val4 val5 val6 val7 val8 val9 val10
10 10 20 30 70 60 60 70 30 20
類似的問題可以在Subquery: how to retrieve the last non-zero value from a column?找到,但它只是作品對於一列以及包含更多列的泛化(在這種情況下)似乎不實際。
,工程前期2012 – scsimon
@scsimon感謝好的解決方案,純偶然的運氣,它支持預2012。說實話,我從來沒有考慮過這個。 :) –