Update - select使用 - サブクエリ使用


ランボー怒りのサブクエリ

updateできんが

実行結果予想:updTbl.koumoku1 に、[名字***名前]が各行に入る

update-select
update updTbl
set updTbl.koumoku1 = (
  select concat(A,'***',B)
    from(
      select myoji as A,namae as B
      from(
        select  as myoji, as namae
         from updTbl
      )
   )
)

実行結果:エラー「サブクエリは複数の値を返しました。」
は???

updateできるようにした

複数行出力すると怒られるので、innerJoinで結合するようにした 原理はよくわからない
実行結果予想:updTbl.koumoku1 に、[名字***名前]が各行に入る

update-inner_join-select
update updTbl
set updTbl.koumoku1 = x.rename
from updTbl
inner join
(
  select concat(A,'***',B) as rename
  ,cd /*innerJoinするのに必要なsyain_cd*/
    from(
      select myoji as A
             ,namae as B
             ,cd 
      from(
        select substring(fullname,a,b) as myoji
               ,substring(fullname,x,y) as namae
               ,syain_cd as cd
         from updTbl
      )
   )
)as x
on updTbl.syain_cd = x.cd /*使用するDBは同じだけど別テーブル扱いの為join設定*/

実行結果:updTbl.koumoku1 に、[名字***名前]が各行に入る
やったネ