如何根据条件将字段转换为两个单独的字段

问题描述 投票:1回答:1

我正在寻找以下问题的一些帮助。我正在寻找最优雅的方法来做到这一点,因为我现在的方法真的不好看。任何帮助将不胜感激 :

我有这个:

cnumber     cid         prim
n100        123123      y         
n100        465488      n         
n123        798         y         
n768        544         y         
n455        123         y         
n455        098         n       

我希望得到这个:

cnumber     y           n         
n100        123123      465488
n123        798         NULL
n768        544         NULL
n455        123         98
sql filter pivot
1个回答
1
投票

这是你想要的吗?

select cnumber,
       max(case when prim = 'y' then cid end) as y,
       max(case when prim = 'n' then cid end) as n
from t
group by cnumber;
© www.soinside.com 2019 - 2024. All rights reserved.