【发布时间】:2022-01-14 10:34:10
【问题描述】:
尝试将此查询用于客户要求贷款的过程:
select loan_id,
CASE WHEN status = 'document_sent' then date ELSE NULL END as document_sent,
CASE WHEN status = 'document_rejected' then date ELSE NULL END as document_rejected
from table
and status in ('document_sent', 'document_rejected')
order by 2 asc, 3 asc
结果如下:
| loan_id | document_sent | doc_rejected |
|---|---|---|
| 123 | 2021-03-01 14:52 | |
| 123 | 2021-03-01 14:57 | |
| 123 | 2021-03-01 15:33 | |
| 123 | 2021-03-01 14:54 | |
| 123 | 2021-03-01 15:00 | |
| 123 | 2021-03-01 15:39 |
我想要这样的东西:
| loan_id | document_sent | doc_rejected |
|---|---|---|
| 123 | 2021-03-01 14:52 | 2021-03-01 14:54 |
| 123 | 2021-03-01 14:57 | 2021-03-01 15:00 |
| 123 | 2021-03-01 15:33 | 2021-03-01 15:39 |
有可能吗?谢谢
【问题讨论】:
-
能否也添加原始数据表
-
查询如何知道要“在同一级别查看”哪些行?它们都是同一个
loan_id,所以它们如何结合在一起似乎没有任何逻辑。 -
ELSE NULL是默认行为。你可以省略它。 -
这里的每一行都有相同的loan_id。所以没有主表数据是不可能给出答案的。
标签: mysql sql amazon-web-services amazon-athena presto