代码之家  ›  专栏  ›  技术社区  ›  Smiley

将行透视到SQL Server中的列,而不使用AVG或SUM

  •  1
  • Smiley  · 技术社区  · 7 年前

    我有张叫的桌子 tbl_MyTasks 我需要对其进行透视,以便下面的数据

    我的任务

    |  ID  |    Task_Name    |  Task_Description  |
    -----------------------------------------------
    |  1   | Administrative  | Finance Duties     |
    |  2   | Administrative  | Meetings           |
    |  1   | Development     | SCRUM              |
    |  2   | Development     | Coding             |
    |  3   | Development     | Code Review        |
    |  1   | QA              | Create Test Case   |
    |  4   | Development     | Coding             |
    |  3   | QA              | User Acceptance    |
    

    将转换为:

    |  ID  |  Administrative    |  Development  |        QA         |             
    ------------------------------------------------------------------
    |  1   | Finance Duties     | SCRUM         | Create Test Case  |
    |  2   | Meetings           | Coding        |                   |
    |  3   |                    | Code Review   | User Acceptance   |
    |  4   |                    | Coding        |                   |
    

    所以基本上我需要把所有的东西按ID和 Task_Name 作为新的列和 Task_Description 该列的值。

    谢谢您!

    1 回复  |  直到 7 年前
        1
  •  1
  •   John Cappelletti    7 年前

    怎么样 max() ?

    Select *
     From  tbl_MyTasks src
     Pivot (max(Task_Description) for Task_Name in ([Administrative],[Development],[QA] ) ) pvt