我想对表格进行更新,例如
UPDATE mytable
LEFT JOIN worker ON first=worker_first_name && last=worker_last_name
GROUP BY CONCAT(first, '%%', last)
SET taint = COUNT(pkey) > 1;
但是,UPDATE中的table_reference当然不允许GROUP BY。如何设置该栏?它只是检查名字/姓氏组合在另一个表中是否最多出现一次。
最佳答案
UPDATE mytable
INNER JOIN (
select first, last, COUNT(pkey) > 1 Result
FROM mytable
LEFT JOIN worker ON first=worker_first_name AND last=worker_last_name
GROUP BY first, last) OTHER
on OTHER.first = mytable.first
and OTHER.last = mytable.last
SET taint = OTHER.Result;
关于似乎需要 GROUP BY 的 SQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4950780/