加入三行,如果一列中相同的值
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‘;
怎么可能加入三列?
以上是关于加入三行,如果一列中相同的值的主要内容,如果未能解决你的问题,请参考以下文章
检查一列中的值是不是存在于另一列中,如果存在,则将另一列中的值复制到新列中