-
UPDATE caisuke.orders_ordertemplate SET other_condition4 = 'ご勤務される方には、勤務当日に「入浴介助に関するマニュアル」を施設で必ず確認され、ご署名したうえでご勤務に入っていただくことになります。署名がない場合、ご勤務できないことをご承知おきください。' WHERE id IN ( (SELECT order_id FROM ( SELECT oo.id AS order_id FROM caisuke.corporations_corporation cc JOIN caisuke.corporations_office co on co.corporation_id = cc.id JOIN caisuke.orders_ordertemplate oo on oo.office_id = co.id WHERE cc.name = '株式会社やまねメディカル' AND oo.other_condition1 <> '' AND oo.other_condition2 <> '' AND oo.other_condition3 <> '' AND oo.other_condition4 = '' ) t) ) ;
↓
UPDATE caisuke.orders_ordertemplate SET other_condition4 = 'ご勤務される方には、勤務当日に「入浴介助に関するマニュアル」を施設で必ず確認され、ご署名したうえでご勤務に入っていただくことになります。署名がない場合、ご勤務できないことをご承知おきください。' WHERE id IN ( SELECT oo.id AS order_id FROM caisuke.corporations_corporation cc JOIN caisuke.corporations_office co on co.corporation_id = cc.id JOIN caisuke.orders_ordertemplate oo on oo.office_id = co.id WHERE cc.name = '株式会社やまねメディカル' AND oo.other_condition1 <> '' AND oo.other_condition2 <> '' AND oo.other_condition3 <> '' AND oo.other_condition4 = '' ) ) ;
とできそうな気がしています。結果はかわらないと思うので修正はお任せします。
Edited by yamanaka -
とできそうな気がしています。結果はかわらないと思うので修正はお任せします。
MySQLではサブクエリにUpdate対象と同じテーブルを直接していすることはできないです。その為、一時テーブルを挟むことでこれを回避しています
oo.id AS order_id
->oo.id AS template_id
とした方がわかりやすそうです。 またapi側の実装に合わせてcaisuke.orders_ordertemplate oo
->caisuke.orders_ordertemplate ot
とした方がわかりやすそうです。1度流すだけのクエリであり、長期にわたってレポジトリで管理されるものではないため、今回はこのままとさせて下さい
Please register or sign in to comment