2010-10-13 55 views
1

我有一個整列的表 - 我需要一種方法來在另一個表中生成此列的「前綴」。使用SQL進行前綴計算,沒有定義過程

例如,我需要1,1,0,1,0,1,0,0作爲輸入
我需要1,1,1,1,2,2,3,3,3作爲輸出

這需要在SQLite的SQL方言中完成,沒有用戶定義的函數或存儲過程是可能的。

+0

你能解釋一下你用邏輯它能讓你從「1,0,0,0,1,0,1,0,0」到「1,1,1,1,2,2,3,3,3」嗎?這就像一個總跑? – 2010-10-13 14:11:31

+0

你能否澄清一下什麼是「前綴」的列?所以目前還不清楚如何根據輸入生成輸出。 – cement 2010-10-13 14:11:45

+0

好了,它現在是乾淨的(更新後)。所以你需要以前的元素的總和。 – cement 2010-10-13 14:16:06

回答

1

所以從inputoutput表中插入你需要下面的查詢:

INSERT INTO output 
SELECT id, 
(SELECT sum(i1.value) FROM input AS i1 WHERE i1.rowid <= i2.rowid) as VALUE 
FROM input AS i2