首页 > 解决方案 > PostgreSQL中具有多列的数据透视表

问题描述

我正在寻找一个查询,如果可能的话,我可以使用它来使用动态列对表数据进行透视。

这是用例示例,我有一个类似的表:

C_id J_id 做过 code_id 数量
1 100 10 301 100
1 100 10 302 105
1 100 10 303 100
1 100 10 304 150
1 100 11 301 100
1 100 11 302 105
1 100 11 303 100
1 100 11 304 150
1 100 11 305 100
1 101 10 301 100
1 101 10 302 105
1 101 12 303 100
1 101 12 304 150
1 101 11 301 100
1 101 11 302 105
1 101 11 303 100
1 101 11 304 150
1 101 11 305 100

其中 C_id、J_id、d_id 和 code_id 是来自其他表的映射列。

我想要这样的输出:

C_id J_id code_id D_10 D_11 D_12
1 100 301 100 100 0
1 100 302 105 105 0
1 100 303 100 100 0
1 100 304 150 150 0
1 100 305 0 100 0
1 101 301 100 100 0
1 101 302 105 105 0
1 101 303 0 100 100
1 101 304 0 150 150
1 101 305 0 100 0

其中D_10、D_11、D_12是d_id列中的列,这些列中的数据是根据j_id映射到c_id的数量。

标签: sqlpostgresql

解决方案


推荐阅读