有一个Postgres数据库和表有三个列。 数据结构在外部系统所以我不能修改它。

每个对象由三行(被列element_id——行相同的值在本专栏中代表同一个对象),例如:

keyvalueelement_id-----------------------------------statusactive1nameexampleNameAAA1cityexampleCityAAA1statusinactive2nameexampleNameBBB2cityexampleCityBBB2statusinactive3nameexampleNameCCC3cityexampleCityCCC3

我想要所有的值描述每个对象(名称、状态和城市)。

对于这个示例的输出应该是:

exampleNameAAA|active|exampleCityAAAexampleNameBBB|inactive|exampleCityBBBexampleNameCCC|inactive|exampleCityCCC

我知道如何加入两行:

selecta.valueasname,b.valueasstatusfromthe_tableajointhe_tablebona.element_id=b.element_idandb."key"='status'wherea."key"='name';

怎么可能加入三列?