sql >> データベース >  >> RDS >> Sqlserver

SSRS 2005は、最大値を持つ列の名前を見つけます

    UNPIVOT を使用できます 関数と CROSS APPLY これを取得するには:

    ;with cte as
    (
      select col, value
      from yourtable
      unpivot
      (
        value
        for col in ([Step X], [Step W], [Step A], [Step B], [Step Y])
      ) unpiv
    ) 
    select [Step X], 
      [Step W], 
      [Step A], 
      [Step B], 
      [Step Y],
      d.col LastStep
    from yourtable
    cross apply
    (
      select c1.col
      from cte c1
      inner join
      (
        select max(value) MaxDate
        from cte
      ) c2
        on c1.value = c2.maxdate
    ) d
    

    デモによる SQL Fiddle を参照してください。




    1. Rails &MSSQL 2008 - 障壁にぶつかるか?

    2. ToadForOracleでプロシージャを実行する方法を学ぶ

    3. MySQLクエリは2回実行されます

    4. %の代わりにMySQLの1つの文字を一致させる方法は?