【发布时间】:2021-07-23 17:01:29
【问题描述】:
我是 postgresql 的新手,甚至是交叉表的新手,但根据我的阅读,以下查询应该可以工作:
select * from crosstab(
$$select distinct "AccountNumber" , "ProductCategory", sum("ProductQuantity") sm
from "MsfDataRecords" mdr
group by "ProductCategory", "AccountNumber", "ProductQuantity"$$
)as ct("AccountNumber" text , "ProductCategory" text , sm numeric)
但是SQL Error [42601]: ERROR: return and sql tuple descriptions are incompatible 会出错
我检查了所有的数据类型,它们都是正确的。我不确定这是否与 sum 函数有关。
任何帮助表示赞赏
【问题讨论】:
-
使用条件聚合几乎总是比使用
crosstab()更容易 -
谢谢。你能举个例子或给我指点任何教程吗?
-
与您的问题无关,但是:您应该真正避免使用那些可怕的带引号的标识符。他们的麻烦比他们值得的要多得多。 wiki.postgresql.org/wiki/…
-
感谢您的帮助。非常感谢
标签: sql postgresql pivot crosstab postgres-crosstab