加入三行,如果一列中相同的值-创新互联
有一个Postgres数据库和表有三个列。 数据结构在外部系统所以我不能修改它。
创新互联IDC提供业务:资阳服务器托管,成都服务器租用,资阳服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。每个对象由三行(被列element_id——行相同的值在本专栏中代表同一个对象),例如:
key value element_id-----------------------------------status active 1name exampleNameAAA 1city exampleCityAAA 1status inactive 2name exampleNameBBB 2city exampleCityBBB 2status inactive 3name exampleNameCCC 3city exampleCityCCC 3
我想要所有的值描述每个对象(名称、状态和城市)。
对于这个示例的输出应该是:
exampleNameAAA | active | exampleCityAAA exampleNameBBB | inactive | exampleCityBBB exampleNameCCC | inactive | exampleCityCCC
我知道如何加入两行:
select a.value as name, b.value as statusfrom the_table a join the_table b on a.element_id = b.element_id and b."key" = 'status'where a."key" = 'name';
怎么可能加入三列?
文章题目:加入三行,如果一列中相同的值-创新互联
文章源于:http://myzitong.com/article/gidci.html