我有一個SQLite3查詢因爲列不存在而爆炸。以下是查詢的簡化版本:引用不存在的列
SELECT
colA,
colB,
(colA + colB) colC,
(colA + colB + colC) colD
FROM
myTable
當colC在線上被引用來計算colD時,查詢會爆炸。因爲我在colD之前定義了colC,所以我希望能夠工作。
我能做些什麼來實現我想要的?我需要在查詢運行時計算colC。
我有一個SQLite3查詢因爲列不存在而爆炸。以下是查詢的簡化版本:引用不存在的列
SELECT
colA,
colB,
(colA + colB) colC,
(colA + colB + colC) colD
FROM
myTable
當colC在線上被引用來計算colD時,查詢會爆炸。因爲我在colD之前定義了colC,所以我希望能夠工作。
我能做些什麼來實現我想要的?我需要在查詢運行時計算colC。
每本:
SQLite不(目前)作出有關
查詢中省略了AS子句列名的任何承諾。
我建議嘗試此:
SELECT
colA,
colB,
(colA + colB) AS colC,
(colA + colB + colC) AS colD
FROM
myTable
這有可能是計算值不混疊,直到ResultSet是準備去...或者其它某種這樣的計時問題。爲什麼不簡單地重複這樣的計算:
SELECT
colA,
colB,
(colA + colB) colC,
(colA + colB + colA + colB) colD
FROM
myTable
這樣就避免了必須讀取別名計算列。
您可以使用子查詢:
SELECT
colA,
colB,
colC,
(colA + colB + colC) colD
FROM (
SELECT
colA,
colB,
(colA + colB) colC
FROM
myTable
) x
嗯......好,我的查詢比我的例子更加複雜了不少,但你的戰略本質工作。謝謝。 – Andrew