儘管我已經看到了這個問題的幾個答案,但他們都傾向於依賴於最大的功能,該功能不斷回來, 15,State 10,Line 1 'GREATEST'不是公認的內置函數名稱。「SQL中100列中每行的最大值
我想知道一種方法來建立一個查詢,爲每一行返回工件編號,以及行中的最大值與它所在的列。任何建議將受到歡迎。我已經瀏覽了這個板子和其他板塊上的很多例子,但是在各種錯誤中保持運行。
嘗試和失敗的代碼,縮短veiwing樂趣:什麼,我想查詢
SELECT artifactID, GREATEST(V0,V1,V2,V3,V4,V5,V6...V98,V99) AS col_value,
CASE GREATEST(V0,V1,V2,V3,V4,V5,V6...V98,V99)
WHEN V0 THEN '0'
WHEN V1 THEN '1'
WHEN V2 THEN '2'
WHEN V3 THEN '3'
...
WHEN V99 THEN '99'
END AS col_name
FROM dbo.Theta
實例返回:
ArtifactID GreatestColumnValue ColumnValueCameFrom
00001 .330 59
00002 .89 89
...
01000 .44 7
謝謝!
您使用的是什麼RDBMS和版本? – Lamak 2011-04-04 20:22:23
@Lamak - 'dbo.Theta' ...和'Msg,Level' .. SQL Server我猜 – RichardTheKiwi 2011-04-04 20:26:30
/希望你正在使用SQL Server 2005+,否則......需要更長的答案:) – RichardTheKiwi 2011-04-04 21:02:34