以下是我的SQLFIDDLE,在其中你会看到有ABC的地方有性别的名字,但有不同的地方,但是DEF没有任何性别。我一直尝试做的是根据类似名称DEF
的性别填充ABC
的性别。请让我知道我该怎么做(相同的表更新)谢谢,
FIDDLE: http://sqlfiddle.com/#!2/e6b05/1
答案 0 :(得分:1)
这应该可以解决问题
UPDATE addr AS a
JOIN addr AS b
ON b.Name = a.Name
AND b.place = 'ABC'
AND a.place = 'DEF'
SET a.gender = b.gender
WHERE a.gender = 'N/A'
如果place
无关紧要
UPDATE addr AS a
JOIN addr AS b
ON b.Name = a.Name
AND b.gender <> 'N/A'
SET a.gender = b.gender
WHERE a.gender = 'N/A'