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;
有点不明白,求大神指点。
怎么可能在像我指出的那样的语句中更新一个字段的所有数据,甚至有一个内部子句?
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;