UPDATE 查询更新所有数据

UPDATE query updates all the data

有点不明白,求大神指点。

怎么可能在像我指出的那样的语句中更新一个字段的所有数据,甚至有一个内部子句?

update temp_sq05 
set tipoproynew =(
  SELECT
    temp_sq06.TP
  FROM
    temp_sq05 ts   
  INNER JOIN temp_sq06  
    ON temp_sq05.te_cod = temp_sq06.tecodmg 
    and temp_sq05.tipoproynew IS NULL
)

您用来更新列 tipoproynew 的子查询应该与 table temp_sq05 相关,而这不能通过连接完成。
试试这个:

UPDATE temp_sq05 AS t5  
SET tipoproynew = (
  SELECT t6.TP
  FROM temp_sq06 AS t6  
  WHERE t6.tecodmg = t5.te_cod  
)
WHERE t5.tipoproynew IS NULL;

如果您的 SQLite 版本是 3.33.0+,您可以使用 UPDATE...FROM... 语法:

UPDATE temp_sq05 AS t5 
SET tipoproynew = t6.TP
FROM temp_sq06 AS t6  
WHERE t5.te_cod = t6.tecodmg AND t5.tipoproynew IS NULL;