yusq456 2022-06-08 17:17 采纳率: 37.5%
浏览 17
已结题

根据表A查询表B、表C、表D中数据

表A为设备信息表

表A字段有 id,name,position,type
type为类型,不同类型数据记录在表B、表C、表D中
position为设备编码

表B为类型b的数据记录表

表B字段有id,position,datetime,value

表C为类型c的数据记录表

表C字段有id,position,datetime,value

表D为类型d的数据记录表

表D字段有id,position,datetime,value

想获取每个设备的最新数据情况,如下,如何写sql语句?

img

请求,多谢
  • 写回答

1条回答 默认 最新

  • 於黾 2022-06-08 17:23
    关注

    既然BCD数据结构一致
    那么先把它们union all在一起,然后结果集统一left join A即可
    如果数据量太大,那么筛选条件需要分别写到每个表的select后面,再union all,以节省时间

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月16日
  • 已采纳回答 6月8日
  • 创建了问题 6月8日