SQLite:重用引用的别名

时间:2014-03-01 09:32:24

标签: sql sqlite quote

我想在查询中重用包含非字母字符的别名,例如:

 SELECT 42 AS "the#answer", "the#answer"+8 AS "fifty";

我想要的输出:42|50;输出我得到:42|8

我已经尝试了几乎所有可能的报价类型组合,并寻找文档,但我似乎找不到可行的解决方案。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

SQL 不能引用来自引入它的同一输出子句的别名。 (它与引用无关,只引用其他无效的标识符;一些SQL供应商会抛出错误,但SQLite在处理这种情况时显得“更放松”。)

可以使用嵌套查询(sqlfiddle)。

SELECT fortytwo, fortytwo + 8 as fifty
FROM (
    SELECT 42 AS fortytwo)

这是有效的,因为引用的标识符fortytwo是在“previous”输出子句中引入的。