Small. Fast. Reliable.
Choose any three.
UPDATE with a FROM clause

		--
		-- SQLite does not allow "UPDATE ... FROM"
		-- but this is what it might look like
		--
		UPDATE
			t1
		SET
			measure = t2.measure
		FROM
			t2, t1
		WHERE
			t2.key = t1.key
		;

		--
		-- emulating "UPDATE ... FROM" in SQLite
		--
		-- n.b.:  it assumes a PRIMARY KEY !
		--
		-- the INSERT never succeeds because
		-- the JOIN restricts the SELECT to
		-- existing rows, forcing the REPLACE
		--
		INSERT OR REPLACE INTO
			t1( key, measure )
		SELECT
			t2.key, t2.measure
		FROM
			t2, t1
		WHERE
			t2.key = t1.key
		;

		--
		-- emulating "UPDATE ... FROM" in SQLite
		--
		--
		UPDATE
			t1
		SET
			measure = ( SELECT measure FROM t2 WHERE t2.key =
t1.key )
		;

		--
		-- emulating "UPDATE ... FROM" in SQLite
		--
		--
		UPDATE
			t1
		SET
			measure = ( SELECT measure FROM t2 WHERE t2.key =
t1.key ) WHERE t1.key = ( SELECT key FROM t2 WHERE t2.key=t1.key)
		;

*Kamil:2007-02-22*
or something like that that is more clearer to understand for me:
UPDATE t1
SET measure = ( SELECT measure FROM t2 WHERE t2.key =t1.key )
WHERE EXISTS (SELECT * FROM t2 WHERE t2.key=t1.key);