0

1つのテーブルを持つデータベースがあります。たとえば「tablename」としましょう。ここで、「text」という名前のテーブルの最初の列を、そこに含まれるテキストに加えて、「tablename2」に対して実行された別のクエリの結果として取得される新しいテキストで更新する必要があります。だから、私はこのようなものが欲しいです:

UPDATE tablename SET text="current text" + (SELECT * FROM tablename2 where ID=12);

'text'の値が''の場合、 ' 'を追加Result not availableしたいので、フィールドの値は' ' hereResult not available here

これはどのように可能ですか?ありがとう

4

2 に答える 2

1

私はおそらくあなたの質問を誤解しましたが、試してみましょう:

http://sqlfiddle.com/#!5/959e5/2

UPDATE Table1
SET text = text || 
    CASE
      WHEN text = 'Result not available' THEN ' here'
      ELSE (SELECT text FROM Table2 where id = 12)
    END;
于 2012-07-18T23:12:23.607 に答える
1

連結演算子 (||) を試してください。

UPDATE tablename SET text='current text'||(SELECT * FROM tablename2 where ID=12);

よくわかりませんが、 " の代わりに ' を使用する必要があります。

于 2012-07-18T20:34:08.547 に答える