使用SQL表旋转轴

时间:2013-02-25 17:21:04

标签: postgresql

我有一张桌子:

product   asset    count
 foo        x        1
 bar        x        0
 foo        y        2
 bar        y        1

这是一个缩写版本。有大约80种资产和几百种产品。

使用SQL可以将此表转换为这样的表吗?

product   asset x   asset y
foo          1         2
bar          0         1

请注意,此数据来自三个表格productsassetsassets_products

1 个答案:

答案 0 :(得分:1)

您要做的是crosstab

为此,您可以使用tablefunc contrib和以下查询:

SELECT * FROM crosstab(
    'SELECT product, asset, count FROM <your_table> ORDER BY 1, 2')
    AS (product text, asset_x int, asset_y int);