加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL选择查询’将多行连接到一行’

发布时间:2020-12-13 15:54:50 所属栏目:百科 来源:网络整理
导读:我是PostgreSQL的新手.我的情况是我有一个表存储我的数据.数据作为一行来自文件,并作为5行保存在数据库中.我想要的是创建一个SELECT语句,它将5行再次组合成一个. 例如 id id2 id3 year code value4 1 1 1642 radio 304 1 1 1642 tv 564 1 1 1642 cable 674 1
我是PostgreSQL的新手.我的情况是我有一个表存储我的数据.数据作为一行来自文件,并作为5行保存在数据库中.我想要的是创建一个SELECT语句,它将5行再次组合成一个.

例如

id  id2  id3  year  code   value
4   1    1    1642  radio  30
4   1    1    1642  tv     56
4   1    1    1642  cable  67
4   1    1    1642  dine   70

我想要一个查询,它将返回以下内容:

id  id2  id3  year  radio  tv  cable dine
4   1    1    1642  30     56  67   70

代码的值正在变为具有实际值的值的列.

这可能吗?

解决方法

你可以使用( SQL Fiddle):

SELECT m.id,m.id2,m.id3,m.year,SUM(CASE WHEN m.code = 'radio' THEN m.value END) as radio,SUM(CASE WHEN m.code = 'tv' THEN m.value END) as tv,SUM(CASE WHEN m.code = 'cable' THEN m.value END) as cable,SUM(CASE WHEN m.code = 'dine' THEN m.value END) as dine
FROM MyTable m
GROUP BY m.id,m.year

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读