2017-03-21 25 views
0

カラムがnameの2つのテーブルアカウントテーブルと、カラムがあるaccounts_cstm(company_name_c varchar、first_name_c varchar、last_name_c varchar)があります。 テーブルaccounts.idとaccounts_cstm.idは同一です。 状況の下でaccounts.name(varchar)のすべての値を置き換えるクエリを作成しようとしています。 company_name_cに値がある場合は、company_name_cに置き換えてください。または company_name_cがnullの場合は、concat first_name_cおよびlast_name_cに置き換えてください。私はこのクエリを作成したが、私はエラーを取得:クエリ以下別のテーブル値に応じてテーブルを更新します。

Error Code: 1292. Truncated incorrect DOUBLE value: 'TEST_Launch1'. Any help please ? 

:私は自分自身を初心者によ

update accounts,(select accounts_cstm.id_c as idc, 
       (case accounts_cstm.company_name_c 
        WHEN accounts_cstm.company_name_c is not null THEN accounts_cstm.company_name_c 
        WHEN '' THEN accounts_cstm.company_name_c 
        ELSE CONCAT(accounts_cstm.first_name_c,' ',accounts_cstm.last_name_c) END) as name1 
from accounts_cstm) as accc 
SET accounts.name = accc.name1 
where accounts.id = accc.idc 
+0

はい、正しいものです。 Test_Launchは値 – user1292656

+1

です。問題の両方のテーブルのテーブルスキーマを投稿してください。 – Rahul

+0

更新に関連するトリガーを持っていませんか? TEST_launch1を含む? – scaisEdge

答えて

関連する問題