我有一个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