【发布时间】:2013-01-29 17:39:53
【问题描述】:
我有一个系统可以将字段中项目的 XYZ 位置报告给 SQL 数据库。我试图通过过滤已知的时间点来过滤误报(仅识别移动的项目),当项目通过一个点时,以及项目在通过一个点后应该在什么位置。
我的逻辑是,如果一个项目在一个位置和时间并且在另一个位置和时间,它一定已经移动了。
所以我有这个查询:
SELECT tag_ID, X_location*3.28, Y_location*3.28, locate_time
FROM tag_blink_history
WHERE
(LOCATE_TIME > '2013-01-29 11:05:51'
AND LOCATE_TIME < '2013-01-29 11:06:56'
AND ((y_location*3.28 > 61)
AND (y_location*3.28 < 67.5))
AND ((x_location*3.28 > 14.5)
AND (x_location*3.28 < 17.5)))
AND (((y_location*3.28 > 70)
AND (y_location*3.28 < 75))
AND locate_time < '2013-01-29 11:06:50' )
ORDER BY tag_id DESC
有什么想法吗?我意识到我用上述查询向 SQL 提出的要求是同时在两个地方(这不可能发生),但我想要的是同时存在于这两个空间约束中的记录——我想要它们同时存在的记录,而不是要求同时在两者中的记录。
【问题讨论】:
-
我可以帮助你,但首先,你怎么知道你在查询的第二部分找到的项目与第一部分中的项目相同?您怎么知道要查询的时间/地点?
-
您使用的是哪个 DBMS?甲骨文?波斯格雷斯?
-
我有一个物理传感器,可以检测物品的存在和离开空间中的一条线。这就是我用来建立已知物理位置的方法。我正在使用 SQL YOG 来执行此操作
标签: sql data-processing sqlyog