请教Oracle这个查询怎么写?

cgh1970 2024-01-16 16:45:26

有这么一个表,我想查询在当前时间前2小时车号相同,称重方式是毛重,重量相差0.5的所有车辆数据,请问怎么写?万分感谢!

 

...全文
500 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

SELECT *
FROM table t1
WHERE
weighing_method = '毛重'
AND EXISTS (
SELECT 1
FROM table t2
WHERE
t1.truck_number = t2.truck_number
AND t2.weighing_method = '毛重'
AND t2.weigh_time >= SYSTIMESTAMP - INTERVAL '2' HOUR
AND t2.weigh_time <= SYSTIMESTAMP
AND ABS(t1.weight - t2.weight) = 0.5
)
AND t1.weigh_time >= SYSTIMESTAMP - INTERVAL '2' HOUR
AND t1.weigh_time <= SYSTIMESTAMP;

cgh1970 01-17
  • 举报
回复
@成瘾的男孩 谢谢!我试一下!
  • 打赏
  • 举报
回复

采用自连接来查询
SELECT
A.truck_no,
A.weight_type,
A.take_weight,
A.weight_take_time,
B.truck_no as matching_truck_no,
B.weight_type as matching_weight_type,
B.take_weight as matching_take_weight,
B.weight_take_time as matching_weight_take_time
FROM
truck_weights A,
truck_weights B
WHERE
A.truck_no = B.truck_no
AND A.weight_type = '皮重'
AND B.weight_type = '毛重'
AND ABS(A.take_weight - B.take_weight) <= 0.5
AND B.weight_take_time BETWEEN A.weight_take_time - INTERVAL '2' HOUR AND A.weight_take_time
AND A.weight_take_time <= CURRENT_TIMESTAMP;
试一下呢

cgh1970 01-17
  • 举报
回复
@一只牛博 谢谢!我试一下!
smq 01-16
  • 打赏
  • 举报
回复

在数据树上工区下的右键点击“Velocities”,在弹出菜单框内选择“Merge Velocities”,弹出速度合并窗口可进行多块速度合并,使用方法可查看“help”。 (该方法仅限3D工区)

img

17,113

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧