2011-12-07 2 views
0

私はこの文、SQLite:JOINを左テーブルに戻しますか?

SELECT table1.*, table2_1.`values` AS val_1 
FROM table1 JOIN table2_1 
ON table1.row_names=table2_1.row_names 

を持っている場合は、私が実際にこのような結果が戻ってtable1に参加します。 SELECTの後でFROMの前にジョインステートメントを挿入するとエラーが表示されます。

結果をテーブルに保存できないため、元のテーブルの1つに戻すことができますか?

+0

ああ、明らかにSQLiteは 'INTO'文をサポートしていません。しかし、 'CREATE TABLE {tablename} AS SELECT {rest}'は動作します。 – hatmatrix

答えて

1

これは間違った方法です。 SELECTステートメントはどれくらいの頻度でもデータを変更しません。データを変更する場合は、UPDATEステートメントを使用する必要があります。

+0

しかし、SQLiteで 'UPDATE'と' JOIN'文を効果的に組み合わせるにはどうしたらいいですか? [サブクエリを使用した例があります(http://stackoverflow.com/questions/773441/how-do-i-make-an-update-while-joining-tables-on-sqlite)が実装されています。特定の単純なケース。 – hatmatrix

+0

あなたの質問からわかるように、SQLiteは 'UPDATE'の' JOIN'をサポートしていません。それぞれの更新を手動で実行する必要があります。つまり、 'table2_1'を反復し、各行に対して' table1'で 'UPDATE'を実行する必要があります。 –

関連する問題