postgresql - 错误:列 >>?column?<< 指定了多次
问题描述
当我执行以下 UNION ALL 代码以将多个表组合到一个物化视图中时,我收到错误:列 >>?column?<< 指定了多次。正如您在代码上方看到的,我严格遵守原始表格中的序列。
- 姓名
- info1 AS hoehe
- info1 作为艺术
- info1 AS name_alternative
- info2 AS 区域
- info3 AS text_hoehe
- kn AS name_lang
- 地理定位
- 符号编号
DROP MATERIALIZED VIEW vt_views.poi_test;
CREATE MATERIALIZED VIEW vt_views.poi_test
TABLESPACE pg_default
AS
SELECT tim_bergname.name,
tim_bergname.info1 AS hoehe,
NULL,
NULL,
tim_bergname.info2 AS region,
NULL,
NULL,
tim_bergname.geoloc,
tim_bergname.symbolnummer
FROM tim_bergname
UNION ALL
SELECT tim_flurname.name,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
tim_flurname.geoloc,
tim_flurname.symbolnummer
FROM tim_flurname
UNION ALL
SELECT tim_haus_huette.name,
NULL,
tim_haus_huette.info1 AS art,
NULL,
tim_haus_huette.info2 AS region,
NULL,
NULL,
tim_haus_huette.geoloc,
tim_haus_huette.symbolnummer
FROM tim_haus_huette
UNION ALL
SELECT tim_museum.name,
NULL,
tim_museum.info1 AS art,
NULL,
NULL,
NULL,
tim_museum.kn AS name_lang,
tim_museum.geoloc,
tim_museum.symbolnummer
FROM tim_museum
UNION ALL
... several other SELECTS (shortened because of stackoverflow restrictions)
UNION ALL
SELECT tim_wohnmobilstellplatz.name,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
tim_wohnmobilstellplatz.geoloc,
tim_wohnmobilstellplatz.symbolnummer
FROM tim_wohnmobilstellplatz
WITH DATA;
ALTER TABLE vt_views.poi_test
OWNER TO postgres;
GRANT ALL ON TABLE vt_views.poi TO postgres;
GRANT ALL ON TABLE vt_views.poi TO PUBLIC;
任何想法为什么会这样?是因为例如 info1 使用了 3 次吗?我无法编辑原始表,因为我们有一批正在填充表。谢谢你的帮助!
解决方案
NULL
问题在于条目的第一个查询。您应该命名相应的列:
SELECT tim_bergname.name,
tim_bergname.info1 AS hoehe,
NULL AS mycol1,
NULL AS mycol2,
tim_bergname.info2 AS region,
NULL AS mycol3,
NULL AS mycol4,
tim_bergname.geoloc,
tim_bergname.symbolnummer
FROM tim_bergname
推荐阅读
- python - 获取所采用的路径,直到 python 中的一行
- r - 在 r data.table 中添加列
- javascript - 在javascript中合并动态对象数组
- jenkins - 满足条件时对整个管道使用特殊代理
- spring-boot - Spring Boot 服务器和客户端测试。是否有可能将它们结合起来实现这样的目标?
- python - SKLEARN 导入 cross_validation 的问题
- macos - 如何让 Mac Voiceover 将数字读取为数字而不是单个数字?
- netlogo - Netlogo - 一个品种的成员询问另一个品种的成员的变量值
- python - 突然,Probit 在 PySAL (1.14.4) 上不起作用
- jmeter - 为每个请求调用 JSR223 预处理器