【发布时间】:2015-11-05 10:32:48
【问题描述】:
我使用WITH 子句将大型查询创建为公用表表达式-month_index。是否可以在交叉表查询的源 sql 中引用此公用表表达式?
当我做得到一个错误 关系“month_index”不存在
WITH month_index AS
(
SELECT ...
)
SELECT * FROM CROSSTAB(
'SELECT rowid AS row_name,
CONCAT(''m'',monthno) AS category,
nic5dindex AS value
FROM month_index',
'*<categorysql>*')
AS ct(..)
我使用 Postgresql 9.3。
【问题讨论】:
-
过时且不受支持的 8.3 版没有公用表表达式。但我认为,即使使用具有 CTE 的受支持版本,交叉表功能也无法访问 CTE。您需要创建一个可以在传递给
crosstab()函数的 SELECT 语句中引用的视图。
标签: postgresql common-table-expression crosstab