この回答に加えて、tableA.valueに従ってtableB.valueを動的に変更する必要がある場合は、次のように実行できます。
UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value)
WHERE tableA.name = 'Joe'
この回答に加えて、tableA.valueに従ってtableB.valueを動的に変更する必要がある場合は、次のように実行できます。
UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value)
WHERE tableA.name = 'Joe'