postgresql交叉表总和列

时间:2017-06-07 06:51:49

标签: postgresql crosstab

目前我在交叉表和查询之间使用LEFT JOIN。问题是交叉表只会通过旋转表来对这些列求和。但我还有4个额外的列也需要加总。但交叉表只是第一次出现并给出了。我目前的解决方法是对这4列进行交叉表,然后进行第二次查询以获取总和列,最后使用LEFT JOIN来组合它们。我想知道是否还有其他方法可以做到这一点。

示例:

id | val1 |val2 | pivot
1  | 2    | 2   | H
1  | 4    |  2  | H
1  | 3    |  3  | J

我想要的结果:

id| val1 | val2| H | J
1 |  9   | 7   | 2 | 1

结果我只使用交叉表

id| val1 | val2 | H |J 
1 |  2   | 2    | 2 | 1

目前工作需要2件初始表

id | val1 | val2
1  | 2    |  2
1  | 4    |  2
1  | 3    |  3

id | pivot
1  |   H
1  |   H
1  |   J

第一个上的正常求和查询和第二个上的交叉表,然后LEFT JOIN给出了我想要的结果。

有没有办法使用交叉表来获得我想要的结果,或者只是我的LEFT JOIN解决方案?

0 个答案:

没有答案