【发布时间】:2021-01-12 18:30:02
【问题描述】:
我有一个表格,用于存储打开和关闭订单的日期。类似这样:
| id | orderID | status | date |
|---|---|---|---|
| 1 | 1 | opened | 2020-01-01 |
| 2 | 1 | closed | 2020-01-05 |
| 3 | 2 | opened | 2020-01-02 |
我需要一个返回以下结果的 SQL 查询:
| orderId | openedDate | closedDate |
|---|---|---|
| 1 | 2020-01-01 | 2020-01-05 |
| 2 | 2020-01-02 | NULL |
这是我尝试过的:
SELECT
orderId,
CASE WHEN status = 'opened' THEN date END AS openedDate,
CASE WHEN status = 'closed' THEN date END AS closedDate
FROM
orders
GROUP BY
orderId;
但我没有得到想要的结果。
【问题讨论】: