我正在寻找有关以下问题的帮助。我正在寻找最优雅的方法来执行此操作,因为我目前的方法真的不好用。任何帮助将不胜感激:
我有这个:
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
答案 0 :(得分: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;