根据下表将一列拆分为不同的列
Phone type
ptype_id|description
1 HOME
2 WORK
3 CELL
Phone
phoID|pho_PhoneNum|ptype_id
1 012313 1
2 0132465 2
3 1324654 3
....
根据上表,输出应在其自己的列中显示单元格、主页、工作,例如
phoID|Home|Work|Cell
1 null|null|124
2 null|156 |null
3 789 |null|null
任何建议或方向将不胜感激谢谢
我试图隔离工作类型。但它返回 null 作为工作,但 phoID 中有值
Select pho.phoId,
(Select pho2.pho_phoneNum from Phone pho2
join PhoneType pht2
on pho2.ptypeid=pht2.ptypeid
And pht2.description='Work'
And pht2.ptypeid=2
Where pho2.ptypeid=pho.ptypeid
And pho.ptypeid=2) as Work
from Phone pho;
使用条件聚合并连接两个表
select phoID, max(case when ptype_id = 1 then pho_PhoneNum end) as Home,
max(case when ptype_id = 2 then pho_PhoneNum end) as Work,
max( case when ptype_id = 3 then pho_PhoneNum end) as Cell
from phone p join phoneType pt
on p.ptype_id=pt.ptype_id
group by phoID
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句