-1

我有一张桌子:

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

4

1 回答 1

1

你想做的是crosstab

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

SELECT * FROM crosstab(
    'SELECT product, asset, count FROM <your_table> ORDER BY 1, 2')
    AS (product text, asset_x int, asset_y int);
于 2013-02-25T17:53:32.870 回答