我想在查询中重用包含非字母字符的别名,例如:
SELECT 42 AS "the#answer", "the#answer"+8 AS "fifty";
我想要的输出:
42|50
;我得到的输出是:42|8
。我已经尝试了几乎所有可能的引号类型组合,并查找了文档,但似乎找不到有效的解决方案。
任何想法?
最佳答案
SQL不能从引入它的同一输出子句中引用别名。 (它与引用无关,后者只允许使用否则无效的标识符;某些SQL供应商会抛出错误,但SQLite在处理这种情况时显得“更加放松”。)
您可以使用嵌套查询(sqlfiddle)。
SELECT fortytwo, fortytwo + 8 as fifty
FROM (
SELECT 42 AS fortytwo)
之所以有效,是因为引用的标识符
fortytwo
是在“上一个”输出子句中引入的。关于sql - SQLite:重用带引号的别名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22112575/