根据同一表

时间:2016-03-17 09:29:07

标签: sqlite

我有一个表(Pump_Table),带有泵流量(Pump_Flow),泵站名称(名称)和子名称(Sub_Name)信息,如下表摘录中所示:

enter image description here

我想将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字段返回值。

1 个答案:

答案 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';
相关问题