我有一个包含许多订单的数据集,每个订单都包含订单商品。我有逻辑寻找特定的订单项..
order_id status
2933475 PAID \N
2933475 PAID \N
2933475 PAID VALUE
2933475 PAID \N
包含VALUE的订单项可能会显示在任何订单项中,也可能根本不显示。当我按order_id分组时,我希望它为每个订单ID显示VALUE,如果不存在则显示\ N。
我认为使用COALESCE()
会执行此操作,但在对此订单进行分组时,我仍然会收到NULL。
答案 0 :(得分:1)
根据您的表/查询结构,这样的事情可能有效:
select
order_id,
max(case when status = 'VALUE' then status else NULL end) as status
from table
group by order_id