【发布时间】:2019-07-03 17:26:05
【问题描述】:
我有一张表,我正在尝试旋转。我能够部分实现我想要的。我需要帮助来完成它
我的基表
+-------------+----------+-------------+
| WorkOrderID | STEP_NBR | STEP_STATUS |
+-------------+----------+-------------+
| AA100 | 0 | C |
| AA100 | 1 | W |
| AA100 | 2 | W |
| AA200 | 0 | W |
| AA200 | 1 | W |
| AA300 | 0 | C |
| AA300 | 1 | C |
+-------------+----------+-------------+
我想要的输出
+-------------+--------+--------+--------+
| WorkOrderID | Step_0 | Step_1 | Step_2 |
+-------------+--------+--------+--------+
| AA100 | C | W | W |
| AA200 | W | W | |
| AA300 | C | C | |
+-------------+--------+--------+--------+
我得到的输出
+-------------+--------+--------+--------+
| WorkOrderID | Step_0 | Step_1 | Step_2 |
+-------------+--------+--------+--------+
| AA100 | C | null | null |
| AA100 | null | W | null |
| AA100 | null | null | W |
| AA200 | W | null | null |
| AA200 | null | W | null |
| AA300 | C | null | null |
| AA300 | null | C | null |
+-------------+--------+--------+--------+
我的查询
SELECT WorkOrderID,
(CASE WHEN STEP_NBR = 0 THEN STEP_STATUS ELSE NULL END) AS Step_0,
(CASE WHEN STEP_NBR = 1 THEN STEP_STATUS ELSE NULL END) AS Step_1,
(CASE WHEN STEP_NBR = 2 THEN STEP_STATUS ELSE NULL END) AS Step_2
FROM Table1
如何摆脱多个 WorkOrderId。我只想要每个 WorkOrderId 1 行
【问题讨论】: