1

我有一个包含许多订单的数据集,每个订单都包含订单项。我有逻辑寻找特定的订单项目..

order_id    status  
2933475 PAID    \N  
2933475 PAID    \N  
2933475 PAID    VALUE  
2933475 PAID    \N  

带有 VALUE 的订单项可以出现在任何订单项中,也可以根本不出现。当我按 order_id 分组时,如果每个订单 ID 存在,我希望它显示 VALUE,如果不存在,则显示 \N。

我认为 usingCOALESCE()可以做到这一点,但在分组这个订单时我仍然得到 NULL 。

4

1 回答 1

1

根据您的表/查询结构,这样的事情可能会起作用:

select 
    order_id, 
    max(case when status = 'VALUE' then status else NULL end) as status
from table
group by order_id
于 2013-10-08T18:34:04.993 回答