2016-09-01 17 views
2

タイトルと同じように、table1とupdate table2の値を検索する必要があります。SQL(SQLite)table1から検索してtable2で更新する

TABLE1

|id | nameEN | namePL| 
---------------------- 
|1 | Cat | Kot | 
|2 | Cow | Krowa | 
|3 | Dog | Pies | 

table2の

|id | nameEN | namePL| 
---------------------- 
|1 | Cow |  | 
|2 | Dog |  | 

私は、table2の中の単語を表1に翻訳を検索する必要があります。
その後、JavaでTableViewにtable2を表示します。

問題を解決する方法? SQLiteので

+0

table2あなたは単に翻訳を_show_しますか、またはあなたを行うにして値を更新するには、以下のクエリを使用することができますので、動作しません登録しようと実際に翻訳データを 'table2'に更新したいのですか? –

+0

2番目のオプション。 TableView(編集可能)では、テーブル1にないときに翻訳を追加します – programmerJavaPL

+0

すべては問題ありません。 – programmerJavaPL

答えて

2

、更新します

UPDATE table2 
SET namePL = (
     SELECT namePL 
     FROM table1 
     WHERE nameEN = table2.nameEN 
     ) 
WHERE namePL = '' 
+0

すでに追加された翻訳をいつ更新したいのですか?次にnamePL = ''は動作しません。 – programmerJavaPL

+0

@programmerjavapl 'namePL'カラムに値があってもなくても、すべてのエントリを更新したいのですか?もし単に 'WHERE namePL = '''の条件を削除するのであれば、 – Arulkumar

+0

私はtableviewの変換を入れて、データベースを更新するかどうか上記のコマンドが再び起動を誘発するかどうか?現時点ではデータベースに11000行あります。それはデータベースにすべてある可能性はありますか? – programmerJavaPL

-1
UPDATE table2 
SET namePL = (SELECT TOP 1 namePL FROM table1 t1 where t1.nameEN = nameEN) 
where namePL = '' or namePL IS NULL 
+0

TOPは他のSQL方言でのみ動作します。 –

+0

私の悪いことに、あなたは不自然な質問のときにTOP 1の代わりにLIMIT 1を追加する必要があります – Absurd

+0

詳細を編集してください。コード専用と「試してください」の回答は、検索可能なコンテンツが含まれていないため、推奨されません。なぜ誰かが「これを試してみる」べき理由を説明しません。 – abarisone

関連する問題