我需要更新一列,其中一些单元格已满,一些单元格为空白。 我有这样的代码,但它不起作用。
UPDATE table_name
SET t1.type_name = t2.type_name
FROM table_name t1
INNER JOIN (
SELECT DISTINCT progID, type_name
FROM table_name
WHERE type_name <>''
) t2 ON t1.progID = t2.progID
WHERE t1.type_name <>''
最佳答案
这是正确的语法:
UPDATE table_name t1
INNER JOIN (select distinct progID, type_name from table_name where type_name <>'') t2
ON t1.progID = t2.progID
SET t1.type_name = t2.type_name
WHERE t1.type_name <> ''
您不需要 FROM 子句。
但是您确定要更新具有值的 type_name 列吗?
也许将最后一个条件更改为:
WHERE t1.type_name IS NULL
关于mysql - 如何使用其中的值更新表列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55564142/