2016-08-26 17 views
0

私はmovie_infoテーブルからinfo_type_idとmovie_info列を使用してmovieDatasetテーブルで予算列を更新しようとしています。以下のクエリです:Sqliteをクエリ構文エラー

UPDATE movieDataset 
SET budget=REPLACE(movie_info.info,',','') 
WHERE movieDataset.movie_id IN (
SELECT movie_info.movie_id 
FROM movie_info 
WHERE movie_info.info_type_id=105 
) 

データ: info_type_id 105に対応する情報は、$ 40,000/$ 17,000人のなど

所望の出力:

予算の列が持っている必要があり、$ 40000/$ 17000など

クエリを実行するのにsqlite3とDBブラウザを使用しています

エラーメッセージ:

そのようなカラム:

表関係をmovie_info.info:

彼らは

テーブルがdefintion同じmovie.idを有する:

movieDataset(movie.id、予算)

movie_info(movie.id、info、movie_info_id)

ありがとうございました

+0

実際のエラーメッセージ、およびテーブル定義、およびそれらがどのように関連しているを表示します。 –

+0

あなたのお手伝いをしていただきありがとうございます。私はあなたの上記の要求を含めるために私の質問を編集しました。 –

+0

本当に '。'を使用できますか?列名に?私は規則が英数字とアンダースコアのみを許していると思った。 –

答えて

0

外部クエリでは、movie_infoテーブルは表示されません。そのテーブルから値を取得するには、correlated subqueryでそれらを照会する必要があります。

UPDATE movieDataset 
SET budget = replace((SELECT info 
         FROM movie_info 
         WHERE movie_id = movieDataset.movie_id 
         AND info_type_id = 105 
        ), ',', '') 
WHERE movie_id IN (
    SELECT movie_id 
    FROM movie_info 
    WHERE info_type_id = 105 
); 
+0

あなたの解決策をお手伝いいただきありがとうございます。 –