2013-04-10 30 views
1

我完全不熟悉sqlite,請耐心等待。我正在更新數據庫,需要在名爲「custom」的同一個表中複製值。我用編譯拿到表的信息,它是:sqlite複製表中的值

0 |機票|整數| 0 || 0

1 |名稱|文| 0 || 0

2 |值| 0 || 0

使用select * from custom where ticket = (some value)我得到的,除其他結果,

(一些值)|塊|

(一些值)|需要|(另一個值)

我想複製(其它值),以「塊」的任何地方該值在「需要」的存在。我如何做到這一點?我所嘗試過的所有事情都已經慘敗到這一步。

我的僞代碼版本會是這樣的

update custom 

where required has a value 

copy it to block 

我如何把它轉換成實際的SQLite的命令?

回答

0
UPDATE custom 
SET value = (SELECT value 
      FROM custom AS c2 
      WHERE c2.ticket = custom.ticket 
       AND c2.name = 'required') 
WHERE name = 'block' 
    AND value IS NULL 
+0

謝謝,工作。因爲'block'中的值不爲null,所以我必須取出最後一行,否則就是這樣做了。我喜歡,但我是新的,所以我沒有足夠的聲譽,顯然。 – SQLiteIsNoFun 2013-04-10 14:29:42