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

如何查询pivot表accounts_has_devices及关联devices表的全部数据

多表关联查询方案

完全可以实现,核心是通过中间关联表accounts_has_devices的device_id字段与devices表的主键id做关联查询即可。

基础查询示例(同时返回中间表关联数据+设备数据)

SELECT 
  ad.account_id,
  ad.device_id,
  ad.status,
  ad.is_master,
  d.id AS device_id,
  d.name AS device_name,
  d.info AS device_info
FROM accounts_has_devices ad
INNER JOIN devices d ON ad.device_id = d.id;
  • 以上语句给两张表设置了别名简化写法,查询结果会同时包含账号设备的关联状态、是否为主设备等关联信息,以及设备本身的名称、详情等固有数据。
  • *如果需要过滤特定账号的关联数据,在SQL末尾添加WHERE ad.account_id = 目标账号ID即可。

拓展查询(同时返回账号信息+关联数据+设备数据)

如果需要同时获取账号的相关字段,可再加一层关联:

SELECT 
  a.id AS account_id,
  a.account,
  ad.status,
  ad.is_master,
  d.name AS device_name,
  d.info AS device_info
FROM accounts_has_devices ad
INNER JOIN accounts a ON ad.account_id = a.id
INNER JOIN devices d ON ad.device_id = d.id;

关联类型选择说明

  • 用INNER JOIN:仅返回同时存在关联关系、且对应账号/设备真实存在的记录,过滤无效关联数据
  • 用LEFT JOIN替换INNER JOIN:返回中间表的所有记录,即使对应账号/设备不存在时,相关字段会返回NULL,适合需要保留完整关联记录的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:18:00