私は2つのテーブルを持っています:
movies (id, votes)
info (id, movie_id, info_type, value)
movie.id = info.movie_id and info_type = 3 (これは投票の情報タイプです)
私はそれを行う方法を理解できません..(私はSQLite3.7を使用しています)
UPDATE movies
SET votes = (select value
from info
where info.movie_id=movies.id and info_type=3)
WHERE EXISTS
(select *
from info
where info.movie_id=movies.id and info_type=3)
FYI EXISTS があるので、映画のデータがない場合info
、それらは に更新されませんNULL
。代わりにそれを行いたい場合は、それを削除できます。
UPDATE
他のデータベースでは簡単なmulti-table を実行したいようですが、ドキュメントによると、sqlite では実行できないようです。
mysql では、次のようにしUPDATE movies JOIN info on (info.movie_id = movies.id) SET votes = info.value WHERE info.info_type = 3
ます。sqlite では、すべての情報値を個別に選択し、すべての映画レコードを個別に更新する必要があると思います。