You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关联三张表获取符合特定条件的传感器数据

关联三张表获取目标Sensor数据的SQL实现

核心关联逻辑

通过User表作为中间关联桥梁:

  • Sensor与User通过共同字段SystemID关联
  • User与Incident通过共同字段EmpID关联

不同数据库的SQL实现示例

MySQL 版本

SELECT s.*
FROM Sensor s
JOIN User u ON s.SystemID = u.SystemID
JOIN Incident i ON u.EmpID = i.EmpID
WHERE i.Description LIKE '%System%'
  AND s.Sensortime = DATE_SUB(i.DateOpened, INTERVAL 4 DAY);

SQL Server 版本

SELECT s.*
FROM Sensor s
JOIN User u ON s.SystemID = u.SystemID
JOIN Incident i ON u.EmpID = i.EmpID
WHERE i.Description LIKE '%System%'
  AND s.Sensortime = DATEADD(DAY, -4, i.DateOpened);

Oracle 版本

SELECT s.*
FROM Sensor s
JOIN User u ON s.SystemID = u.SystemID
JOIN Incident i ON u.EmpID = i.EmpID
WHERE i.Description LIKE '%System%'
  AND s.Sensortime = i.DateOpened - 4;

关键注意事项

  • 若日期字段包含时间部分,需先截断时间(比如MySQL用DATE(s.Sensortime)和DATE(i.DateOpened)),避免时间差异导致匹配失败
  • LIKE '%System%'默认不区分大小写(部分数据库例外),若需严格区分,可添加对应数据库的大小写敏感设置(如MySQL加BINARY关键字)
  • 若存在同一Sensor记录匹配多条Incident的情况,可在SELECT后加DISTINCT去重

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:31:57