gpt4 book ai didi

sql - 在 SQL 和 ESRI 定义查询中选择比两个日期/时间之一更新的记录

转载 作者:行者123 更新时间:2023-12-04 23:27:33 25 4
gpt4 key购买 nike

我是 ESRI SQL 用户 - 所以我的查询必须开始于:SELECT * FROM tablename WHERE:

我有基于 GPS 的车辆记录(扫雪机),带有日期/时间字段(称为时间日期),我需要 A.) 根据 a 中的整数字段选择在前 x 小时内发生的记录单独的表或 B.) 根据单独表中的日期/时间字段选择比日期/时间更新的记录。如果是情况 A,那么情况 B 中的字段将为空。如果是case B,则case A的字段为0。

这是我为案例 A 编写的内容。

SELECT * FROM myDataTable
WHERE(DATEDIFF(hh, TimeDate, GETDATE()) <= (select NumberofHours from myHoursControlTable where District = 2)
AND Fleet = 'District 2'
AND NOT [Speed] = 0
AND ([AssetDesc] LIKE 'Sander/Plow%' AND Input2On = 'On' AND Input1On = 'On'))

下面是我为案例 B 编写的内容。

SELECT * FROM myDataTable
WHERE(TimeDate <= (select StartTime from myHoursControlTable where District = 2)
AND Fleet = 'District 2'
AND NOT [Speed] = 0
AND([AssetDesc] LIKE 'Sander/Plow%' AND Input2On = 'On' AND Input1On = 'On'))

它们都可以工作,但有人可以帮我把它放在一起吗?当我尝试使用 case 语句时,我不断收到错误消息:“当子查询未使用 EXISTS 引入时,只能在选择列表中指定一个表达式。”我也有必须以“选择 *”开头的限制,因为我是在 ESRI 定义查询中这样做的。

感谢任何帮助。

最佳答案

非常快的想法。可能不是最优化的,但为什么不直接来两个使用 OR 的 WHERE 语句呢?

SELECT * FROM myDataTable
WHERE(
(
(DATEDIFF(hh, TimeDate, GETDATE()) <= (select NumberofHours from myHoursControlTable where District = 2)
AND Fleet = 'District 2'
AND NOT [Speed] = 0
AND ([AssetDesc] LIKE 'Sander/Plow%' AND Input2On = 'On' AND Input1On = 'On'))
)
OR
(
(TimeDate <= (select StartTime from myHoursControlTable where District = 2)
AND Fleet = 'District 2'
AND NOT [Speed] = 0
AND([AssetDesc] LIKE 'Sander/Plow%' AND Input2On = 'On' AND Input1On = 'On'))
)

更新

由于 A) 和 B) 共享大量条件,您可以像下面这样组合。这是想当然地想捕获满足条件 A) 或 B) 的行。

SELECT * FROM myDataTable
WHERE
(
DATEDIFF(hh, TimeDate, GETDATE()) <=
(select NumberofHours from myHoursControlTable where District = 2)
OR
TimeDate <= (select StartTime from myHoursControlTable where District = 2)
)
AND Fleet = 'District 2'
AND NOT [Speed] = 0
AND ([AssetDesc] LIKE 'Sander/Plow%' AND Input2On = 'On' AND Input1On = 'On');

关于sql - 在 SQL 和 ESRI 定义查询中选择比两个日期/时间之一更新的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com