我有一个包含一个表的数据库,比方说'tablename'。现在,我想要该表的第一列,名为'text',用它所包含的文本更新PLUS一些新文本,这些文本来自在'tablename2'上执行的另一个查询。所以,我想要这样的事情:
UPDATE tablename SET text="current text" + (SELECT * FROM tablename2 where ID=12);
如果'text'值为'Result not available
'我想追加' here
',以便字段值为'Result not available here
'
这怎么可能?感谢
答案 0 :(得分:1)
尝试连接运算符(||):
UPDATE tablename SET text='current text'||(SELECT * FROM tablename2 where ID=12);
我不确定,但你应该使用'而不是'。
答案 1 :(得分: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;