加入三行,如果一列中相同的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加入三行,如果一列中相同的值相关的知识,希望对你有一定的参考价值。

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

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

key value element_id

status active 1
name exampleNameAAA 1
city exampleCityAAA 1
status inactive 2
name exampleNameBBB 2
city exampleCityBBB 2
status inactive 3
name exampleNameCCC 3
city exampleCityCCC 3
我想要所有的值描述每个对象(名称、状态和城市)。

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

exampleNameAAA | active | exampleCityAAA
exampleNameBBB | inactive | exampleCityBBB
exampleNameCCC | inactive | exampleCityCCC
我知道如何加入两行:

select a.value as name,
b.value as status
from the_table a
join the_table b
on a.element_id = b.element_id
and b."key" = ‘status‘
where a."key" = ‘name‘;
怎么可能加入三列?

以上是关于加入三行,如果一列中相同的值的主要内容,如果未能解决你的问题,请参考以下文章

如果所有列中的值相同,则删除行

检查一列中的值是不是存在于另一列中,如果存在,则将另一列中的值复制到新列中

如果索引列不同,则从一列中求和值?

excel怎么将一列中有相同内容的值所在行的数据都放在第一个数的后续行

如果另一列中的值较差,则汇总一列(没有 for 循环)

如果另一列中的行包含列表中的项目,则计算一列中的值的总和