2017-12-24 2 views
0

IDと 'WineName'という列のwinenamesというデータベーステーブルがあります。正しいSQLクエリ - タイトルが一致するレコードを更新する

私はNAME_IDは空ですが、WineName列のデータと周りの3000レコードを持って、列name_idWineNameとwineinfoテーブルの

yearwineinfoと呼ばれる別のテーブルを持っています。

  1. はテーブルwineinfoをチェックすることをSQLクエリで、行「WineNameは」テーブルwinenames内の任意と一致した場合、それはIDをつかみ、NAME_IDにそのIDを置く場合、私は疑問に思って。

例:私のワインの名前は私のwineinfoは私の計画は、上記の表からwinename列を削除し、ちょうどcorrospondingを持つことである。この

WineName name_id  year 
Wine1     2018 
Wine1     2017 
Wine1     2013 
Wine1     2012 
Wine2     2018 
Wine2     2011 
Wine2     2019 

のように見えるこの

WineName  ID 

Wine1  1 
Wine2  2 
Wine3  3 
Wine4  4 

のように見えますIDをname_id列に追加します。

+0

したがって、 'winenames'と' wineinfo'の両方のWineName列には異なるデータがありますか? –

+0

@venky__元の質問を更新しました。意味があることを願っています –

答えて

3

あなたはupdateを使用することができます。

update wineinfo wi join 
     winenames wn 
     on wi.winename = wn.winename 
    set wi.name_id = wn.id; 

これを実行した後、あなたはおそらくwineinfoからwinename列を削除する必要があります。この情報を1か所に保存する方がよいでしょう。正しいIDを常に割り当てるように、データの取り込みプロセスを修正する必要があります。

関連する問題