Sql-Server-2014

在 Pivot 中需要幫助

  • February 15, 2018

我正在使用 sql server 2014

我想根據訂單狀態 ID 獲取最大日期的 ID(身份)欄位

客戶 - 訂單表:

ID(身份)| 客戶編號 | 訂單狀態 ID | 訂購日期

10000     |   11        |   1             |  1 Feb 2017
10001     |   11        |   2             |  2 Feb 2017
10002     |   11        |   2             |  3 Feb 2017
10003     |   11        |   3             |  4 Feb 2017
10004     |   11        |   3             |  5 Feb 2017

預期結果

Customer ID |     1 |    2 |     3
11          | 10000 |10002 | 10004           

尋找這個解決方案:

SELECT *
FROM
(
   SELECT [Customer ID], [Order Status ID], rmax = MAX(Id)
   FROM OrderTable
   GROUP BY [Customer ID], [Order Status ID]
) A
PIVOT 
(
   MAX(rmax) FOR
   [Order Status ID] IN ([1],[2],[3])
) A_pvt

引用自:https://dba.stackexchange.com/questions/197990