SQL 查询以使用来自相同 table 的列将聚合数据插入现有列

SQL query to insert aggregated data into existing column using columns from same table

我在 sqlite 数据库中有一个 table,其中包含一个人的收入、那个人的家庭标识符和一个空的家庭收入列。我正在尝试 运行 一个查询,该查询将根据 returns 按家庭标识符分组的收入总和的子查询填写家庭收入。我的查询:

INSERT INTO customer_data (household_income)
    SELECT t.total
    FROM (SELECT household_id, sum(individual_income)
          FROM customer_data
          GROUP BY household_id
         ) t
    WHERE customer_data.household_id = t.household_id;

但我的查询没有说明 'cannot find customer_data.household_id.' 我无法找到插入的数据来自同一 table 的示例,并且需要一个子查询来获取基于分组的聚合。对我的方法有什么想法吗?

您需要 update。看起来相关子查询将执行您想要的操作:

UPDATE customer_data 
    SET household_income = (SELECT sum(cd2.individual_income)
                            FROM customer_data cd2
                            WHERE customer_data.household_id = cd2.household_id
                           );