Oprócz tej odpowiedzi, jeśli potrzebujesz dynamicznie zmienić tableB.value zgodnie z tableA.value, możesz zrobić na przykład:
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'