我有一个表(Pump_Table),带有泵流量(Pump_Flow),泵站名称(名称)和子名称(Sub_Name)信息,如下表摘录中所示:
我想将sub_ Pump 1的pump_flow值传递给sub_name的pump_flow字段;泵2,泵3,...泵n,具有相同名称的泵站。
我创建的脚本如下所示:
Update [Pump_Table]
SET [Pump_Flow] = (
SELECT [Pump_Flow]
FROM [Pump_Table]
WHERE [Name] = [Name]
AND [Sub_Name] = "Pump 1"
)
WHERE [Name] = [Name]
AND [Sub_Name] != "Pump 1"
;
它继续从sub_name字段中具有“Pump 1”的表中的第一条记录的pump_flow字段返回值。
答案 0 :(得分:0)
过滤器Name = Name
始终匹配。
要引用另一个表中的值,必须使用表名。 如果该另一个表是同一个表的实例,则必须重命名一个表:
Update Pump_Table
SET Pump_Flow = (SELECT Pump_Flow
FROM Pump_Table AS P1
WHERE P1.Name = Pump_Flow.Name
AND Sub_Name = 'Pump 1')
WHERE Sub_Name != 'Pump 1';