You need to enable JavaScript to run this app. QGIS加载SQL Server视图报错后基于外键填充新表字段咨询
优惠活动
大模型
产品
解决方案
定价
更多

QGIS加载SQL Server视图报错后基于外键填充新表字段咨询

解决方案

一、批量填充GoldWeight表的关联字段

直接使用SQL Server的UPDATE ... FROM关联更新语法即可通过外键关联批量填充对应值,执行以下SQL:

UPDATE gw
SET 
    gw.SiteName = s.SiteName,
    gw.Geo4 = s.Geo4
FROM GoldWeight gw
INNER JOIN Sites s ON gw.SiteID = s.SiteID

执行后就能把Sites表中匹配SiteID的SiteName和Geo4字段值同步到GoldWeight表中。

二、解决QGIS加载图层报错的问题

你之前不管是用视图还是新建的GoldWeight表加载失败,核心原因都是QGIS无法识别到图层的唯一主键:

  1. 如果你继续使用新建的GoldWeight物理表,需要先给表添加主键约束(你是按SiteID分组生成的表,SiteID值唯一可作为主键):
ALTER TABLE GoldWeight
ADD CONSTRAINT PK_GoldWeight_SiteID PRIMARY KEY (SiteID)

执行完上述操作后再加载到QGIS即可正常识别。

  1. 更推荐的视图方案优化:不需要额外建物理表存储冗余数据,之前加载视图报错只是因为QGIS没有识别到视图的唯一字段,你在QGIS添加SQL Server图层的向导界面,选中对应视图后,手动将SiteID指定为唯一标识符字段,即可正常加载视图,后续源表数据更新后视图会自动同步,无需手动维护。

内容的提问来源于stack exchange,提问作者acasaly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 19:54:03