0

私は次のことをしようとしています:

update mytable 
set fullname = anothersource.firstname ||' '|| anothersource.lastname
where
userid = anothersource.userid
;

例を単純化したので意味がないので貼り付けていないエラーがありますが、さまざまなソースからの情報で更新を処理する特別な方法はありますか? それが問題が存在する場所かもしれないと私は信じています。

ありがとう

4

2 に答える 2

1

Oracle のサブクエリが必要です。

update mytable 
    set fullname = (select anothersource.firstname ||' '|| anothersource.lastname
                    from anothersource
                    where mytable.userid = anothersource.userid
                   );

サブクエリが複数の行を返す可能性がある場合は、集計 (min()または などwhere rownum = 1) を使用します。

于 2013-07-23T02:38:59.117 に答える
0
UPDATE mytable
SET  fullname =
     (SELECT firstname FROM anothersource WHERE user_id = user_id)
     ||' '||
     (SELECT lastname FROM anothersource1 WHERE user_id = user_id)
WHERE mytable_id = id;
于 2013-07-23T02:47:04.543 に答える