0

私は2つのテーブルを持っています:

movies (id, votes)
info (id, movie_id, info_type, value)

movie.id = info.movi​​e_id and info_type = 3 (これは投票の情報タイプです)

私はそれを行う方法を理解できません..(私はSQLite3.7を使用しています)

4

2 に答える 2

1
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。代わりにそれを行いたい場合は、それを削除できます。

于 2012-10-03T02:19:47.120 に答える
0

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 では、すべての情報値を個別に選択し、すべての映画レコードを個別に更新する必要があると思います。

于 2012-10-03T02:20:14.050 に答える