【问题标题】:SQLite no such column error to select column based on selected columnSQLite no such column error to select column based on selected column
【发布时间】:2015-07-21 21:14:07
【问题描述】:

如果我只是根据先前选择的列选择一列,我在 SQLite 中发现这很奇怪。以下 SQL 语句:

SELECT Column1 AS C1, C1 || 'something' AS C2 FROM Table1;

将在 SQLite 中返回错误:

没有这样的C1列

但它在 Access 中没有错误。

想知道如何在 SQLite 中进行类似的选择?基本上我想在一个 SELECT 而不是两个 SELECT 中做到这一点。

【问题讨论】:

  • 这并不奇怪。这就是 SQL 的工作原理。这就是 SQLite 的工作方式。通常,您需要重复表达式或使用子查询来使用select 中定义的别名。
  • 那么你能建议我一个使用子查询实现上述目标的sql语句吗?谢谢!
  • 你可以只做 Column1 ||一些东西而不是 c1,因为那是那里唯一的问题
  • 选择 Column1 AS C1, Column1 ||表 1 中的“某物”AS C2;
  • 我以Column1为例,其实我是在用一些比较复杂的标准来判断C1,那么我想用C1作为判断C2的标准。

标签: sql sqlite


【解决方案1】:

规范的方式是:

Select C1, C1 || 'something' AS C2
from (select column1 as c1, t1.*
      from Table1 t1
     ) t1

【讨论】:

  • 您能简单解释一下这个查询吗?我累了,它说没有这样的表 t1。谢谢。
猜你喜欢
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
  • 2022-12-02
  • 2022-11-20
  • 2018-07-13
  • 2022-12-02
  • 1970-01-01
  • 2012-08-02
相关资源
最近更新 更多