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

如何在MS Access中查询两车正面碰撞事故对应的所有关联行

解决方案

核心逻辑说明

  • 自关联时通过v1.VehicleID < v2.VehicleID避免同车自身关联,同时消除A匹配B、B匹配A的重复结果
  • 先通过子查询筛选出仅涉及2辆车的事故,缩小匹配范围
  • 匹配同一事故下两辆车碰撞位置均为Front的条件

参考SQL代码

SELECT 
    v1.AccidentID,
    v1.VehicleID AS Vehicle1_ID,
    v1.PointOfImpact AS Vehicle1_ImpactPoint,
    v2.VehicleID AS Vehicle2_ID,
    v2.PointOfImpact AS Vehicle2_ImpactPoint
    -- 可补充其他需要返回的业务字段
FROM VehiclesAccSummary v1
INNER JOIN VehiclesAccSummary v2
    ON v1.AccidentID = v2.AccidentID 
    AND v1.VehicleID < v2.VehicleID -- 避免自身关联和重复匹配
WHERE 
    v1.PointOfImpact = 'Front'
    AND v2.PointOfImpact = 'Front'
    AND v1.AccidentID IN (
        -- 子查询筛选仅涉及2辆车的事故
        SELECT AccidentID
        FROM VehiclesAccSummary
        GROUP BY AccidentID
        HAVING COUNT(DISTINCT VehicleID) = 2
    )

字段适配说明

如果你的表中车辆唯一标识字段名不是VehicleID、事故唯一标识字段名不是AccidentID,替换为实际使用的字段名即可,返回结果不会出现自身关联的无效数据,也不会有重复的两两匹配记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:57:01