What's the best way to select the minimum value from several columns?

后端 未结 19 2128
余生分开走
余生分开走 2020-11-27 02:47

Given the following table in SQL Server 2005:

ID   Col1   Col2   Col3
--   ----   ----   ----
1       3     34     76  
2      32    976     24
3       7             


        
19条回答
  •  爱一瞬间的悲伤
    2020-11-27 03:48

    A little twist on the union query:

    DECLARE @Foo TABLE (ID INT, Col1 INT, Col2 INT, Col3 INT)
    
    INSERT @Foo (ID, Col1, Col2, Col3)
    VALUES
    (1, 3, 34, 76),
    (2, 32, 976, 24),
    (3, 7, 235, 3),
    (4, 245, 1, 792)
    
    SELECT
        ID,
        Col1,
        Col2,
        Col3,
        (
            SELECT MIN(T.Col)
            FROM
            (
                SELECT Foo.Col1 AS Col UNION ALL
                SELECT Foo.Col2 AS Col UNION ALL
                SELECT Foo.Col3 AS Col 
            ) AS T
        ) AS TheMin
    FROM
        @Foo AS Foo
    

提交回复
热议问题