码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-23 20:45:55      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:状态   修改   结构   ble   数据   join   res   active   key   

有一个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‘;
怎么可能加入三列?

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

标签:状态   修改   结构   ble   数据   join   res   active   key   

原文地址:http://blog.51cto.com/14021402/2321271

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!