有时希望根据多行记录的一个或多个公共属性,查询出不同类型对应的某值,并将多行记录合并到一行中。
现在希望查出这样的结果
举个栗子:
表结构类似这样现在希望查出这样的结果
记录一种思路,用于类型较少的情况:
select (case when a.pub_num is null then b.pub_num else a.pub_num end) as PUB_NUM,RATIO_A,RATIO_B
from (
(select pub_num, ratio RATIO_A from tmp_table where type = 'A') a full join
(select pub_num, ratio RATIO_B from tmp_table where type = 'B') b on a.pub_num = b.pub_num)
参考:
https://zhidao.baidu.com/question/1638068252706601300.html