SQL语句只返回一行,其中应返回多行
我有一个包含各种传感器数据点的数据库。这些数据点每分钟采集两次 我使用下面的SQL查询试图在两个不同的时间获取两个独立的数据点SQL语句只返回一行,其中应返回多行,sql,Sql,我有一个包含各种传感器数据点的数据库。这些数据点每分钟采集两次 我使用下面的SQL查询试图在两个不同的时间获取两个独立的数据点 SELECT * FROM TableName WHERE TagName = 'TagName' AND ("DateTime" = 'X' OR "DateTime" = 'Y') 我认为没有理由不返回两个数据点,一个用于第一个日期,一个用于第二个日期,但出于某种原因,查询只返回Y的行 我觉得我错过了一些非常明显的东西 对于更多的上下文,此查询与pyth
SELECT *
FROM TableName
WHERE TagName = 'TagName'
AND ("DateTime" = 'X' OR "DateTime" = 'Y')
我认为没有理由不返回两个数据点,一个用于第一个日期,一个用于第二个日期,但出于某种原因,查询只返回Y的行
我觉得我错过了一些非常明显的东西
对于更多的上下文,此查询与python脚本结合使用,以使用特定的分辨率获取两个日期之间的数据
有什么想法吗
编辑:我相信这与数据库的结构以及它在为条目提供时间值方面的运行方式有关
我需要更多的调查,所以我将标记此问题以便删除,谢谢大家的帮助不确定您的问题中是否键入错误,但如果不是,则可能是语句中
和部分之后的“
:
和(“DateTime”=“X”或“DateTime”=“Y”)
它应该是和(DateTime='X'或DateTime='Y')
。注意不要加引号
从技术上讲,您上面写的内容没有问题……只要表列名正确,并且确实存在这两个日期时间的数据,它就应该可以工作……因此,为了让我们从这里帮助您,您需要向我们展示:表结构,以及导致此结果的数据。(注意:不要将这些内容放入注释中-编辑您的问题并将其添加到注释中)可能DateTime
值为'X'
的行没有标记名值为'TagName'
?我应该在原始注释中提到这一点,但实际的列名是“DateTime”"我知道,但我没有设计数据库哈哈。我现在会附加它。是的,如果DateTime
是列名,它不需要任何引号,你不需要用任何东西或倒勾来包装它,但不需要引号。你只需要对字符串值加引号。你是对的。令人惊讶的是h、 我刚刚测试了它,它可以用任何一种方式工作。和(DateTime='X'或DateTime='Y')
是错误的,因为DateTime是一种数据类型,但在问题中它们是FieldName,那么应该写为和(“DateTime”='X'或“DateTime”='Y')