Sql 如何使用交叉引用表更新特定字段?

Sql 如何使用交叉引用表更新特定字段?,sql,ms-access,Sql,Ms Access,我正在MS Access中处理玻璃类型数据库 DB中的一个表格列出了玻璃的基本信息:唯一ID(“玻璃编号”)、说明、每平方英尺的成本等 表1“GlassInfo”: GlassNo Description CostSqFt Temperate Cost LamiCost 0001“重玻璃”1.38 0.18 0.65 0002“0001回火”1.50 0.18 0.65 0003“0001层压”1.62 0.18 0.65 一个表格是交叉参考,列出了所有“基础”(非钢化)玻璃的玻璃编号以及钢化后

我正在MS Access中处理玻璃类型数据库

DB中的一个表格列出了玻璃的基本信息:唯一ID(“玻璃编号”)、说明、每平方英尺的成本等

表1“GlassInfo”: GlassNo Description CostSqFt Temperate Cost LamiCost 0001“重玻璃”1.38 0.18 0.65 0002“0001回火”1.50 0.18 0.65 0003“0001层压”1.62 0.18 0.65

一个表格是交叉参考,列出了所有“基础”(非钢化)玻璃的玻璃编号以及钢化后的玻璃编号等

表2“GlassCR”: 基型SameAs 0001 0002 0001 0003

如何执行SQL查询并更改
GlassInfo.CostSqFt
,以匹配
GlassCR.BaseType
GlassInfo.CostSqFt
,以匹配该
GlassInfo.GlassNo
?基本上,如何使
CostSqFt
与“父级”
GlassNo
匹配

UPDATE
    (GlassCR AS c
    INNER JOIN GlassInfo AS i1
    ON c.BaseType = i1.GlassNo)
    INNER JOIN GlassInfo AS i2
    ON c.SameAs = i2.GlassNo
SET
    i2.CostSqFt = i1.CostSqFt;
BaseType SameAs 0001 0002 0001 0003
UPDATE
    (GlassCR AS c
    INNER JOIN GlassInfo AS i1
    ON c.BaseType = i1.GlassNo)
    INNER JOIN GlassInfo AS i2
    ON c.SameAs = i2.GlassNo
SET
    i2.CostSqFt = i1.CostSqFt;