我是Postgis和QGIS的新手。我创建了一个视图,定义为
CREATE OR REPLACE VIEW pupr.vstudentmuni AS
SELECT m.id AS munid, m.name AS muname, m.geom, s.code,
(s.name::text || ' '::text) || s.lastname::text AS fullname
FROM pupr.municipio m, pupr.student_location l, pupr.student s
WHERE st_within(l.geom, m.geom) AND s.code = l.code;
在PostgreSQL中。尝试将此视图添加到QGIS会返回以下错误...
"Invalid layer"..."sql= is an invalid layer and cannot be loaded."
不确定是什么问题。geommetry_columns
在PostGIS 中的表中提到了该表,但是我可以在QGIS中看到一条消息条目,该消息条目为“给定视图没有关键字段”。我正在使用PostgreSQL 9.2和QGIS 1.8.0。
1
问题似乎与唯一键字段有关,您必须有一个。我不知道您的数据,也许您可以进一步说明您希望通过查询实现的目标。您如何在QGIS中打开图层?您选择钥匙了吗?根据您的描述,只能将s.code用作唯一键。而且,您的unicipio几何形状将对每个学生重复几次,这就是您想要的吗?
—
Alexandre Neto 2013年