SQLite:使用另一个查询的结果更新字段

时间:2012-07-18 20:31:34

标签: sql sqlite

我有一个包含一个表的数据库,比方说'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'

这怎么可能?感谢

2 个答案:

答案 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;