繁体   English   中英

使用多列时的SQLite子查询语法错误

SQLite Subquery Syntax Error when using Multiple Columns

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

看起来很简单; 但我无法正常工作。

select ISIN, QuoteTimestamp
from QuoteData
where (ISIN, QuoteTimestamp) IN
      (select ISIN, MAX(QuoteTimestamp) QuoteTimestamp
       from QuoteData
       group by ISIN)

此查询给我一个语法错误。 如果我将其修改为仅使用单个列(删除MAX(QuoteTimewstamp)),则它可以工作。

根据文档,这似乎是正确的。

为子查询别名添加“ AS”没有区别。

这是来自SQLite Manager的完整错误消息。

SQLiteManager: Likely SQL syntax error: select ISIN, QuoteTimestamp
from QuoteData
where (ISIN, QuoteTimestamp) IN
       (select ISIN, MAX(QuoteTimestamp) AS QuoteTimestamp
        from QuoteData
        group by ISIN)

 [ near ",": syntax error ]
Exception Name: NS_ERROR_FAILURE
Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]

尽管对我来说这似乎违反直觉,但这似乎可行。 它从具有MAX(QuoteTimestamp)的行返回“ Symbol”,“ Bid”和“ Ask”。

select ISIN, Symbol, Bid, Ask, MAX(QuoteTimestamp)
from QuoteData
group by ISIN

我确定Oracle及其同类会告诉我Symbol,Bid和Ask不是按组表达式。

感谢您的所有帮助。

谢谢Al

1 个回复

在SQLite 3.7.11或更高版本中,根本不需要使用子查询:

select ISIN, MAX(QuoteTimestamp) QuoteTimestamp
from QuoteData
group by ISIN
1 使用子查询时的语法错误

下面是我的SQL查询 我编辑了我的sql查询,删除了一个where子句 我试过这样,但也没有用。 在这里,我尝试在select语句内部使用子查询。 现在我得到一个错误,如果 选择parts.product_code AS PC,parts.part_no AS PO ...

2015-11-02 11:04:09 1 41   mysql
3 为子查询使用别名时出现 Mysql 语法错误

如果我不给子查询添加别名,我会收到错误“错误代码:1248\\n 每个派生表都必须有自己的别名”。 如果我放置别名,我会在别名附近出现语法错误([...] 语法在 'bb[...] 附近使用)。 (出于清晰和隐私的原因,以下代码已被过度简化) 我尝试使用关键字 'AS' 而没有,我尝试将别名 ...

5 使用sqlite的语法错误

我真的很抱歉问这个愚蠢的问题。 最近1个小时,我一直在处理此错误,但从我的眼睛中找不到问题。 如果有人可以帮助我找到问题,我将不胜感激。 我知道这不是一个错误处理博客,但我别无选择。 以下是我的数据库代码: 我收到以下错误: ...

2011-12-12 06:16:18 1 160   android
8 使用sqlite3在查询中获取CASE语法错误

我有以下查询,但对我来说似乎不错,但是当我在SQLPro中运行此查询时,出现以下错误消息(我想这可能是sqlite特有的错误?: 错误: 询问 ...

2016-05-13 01:12:15 2 226   sqlite
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM