【发布时间】:2020-04-15 22:22:34
【问题描述】:
我在 postgres 中有下表(下面仅显示 2 行)。
trial_id lead_sponsor lead_sponsor_class collaborators collaborators_class
NCT00004336 NCRR NIH University of Michigan Other
NCT00004337 NCRR NIH null null
我想根据lead_sponsor 和collaborators 列拆分每一行,并根据它们创建新列
预期输出是:
trial_id sponsor_company sponsor_role agency
NCT00004336 NCRR lead_sponsor NCRR
NCT00004336 University of Michigan collaborators University of Michigan
NCT00004337 NCRR lead_sponsor NCRR
我尝试了几件事,但我无法找出解决方案(我是 postgres 的新手)
SELECT
*,
CASE WHEN lead_sponsor is not null THEN lead_sponsor
WHEN collaborators is not null THEN collaborators
ELSE ''
END AS sponsor_company
FROM
tb ;
这里的任何建议都会很有帮助。
谢谢
【问题讨论】:
标签: sql postgresql unpivot