2014-03-01 26 views
0

我想重新使用包含在查询中的非字母字符的别名,是这样的:SQLite的:重用引用别名

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

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

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

有什么想法?

回答

3

SQL 不能从引用引入它的同一个输出子句的别名。 (它无关报价,只允许否则无效标识;一些SQL厂商会抛出一个错误,但SQLite的似乎“更轻松”,在这种情况下的处理。)

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

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

这工作,因为引用的标识,fortytwo,在“以前的”输出条款进行了介绍。