首页 > 解决方案 > SQL : 获取相关属性

问题描述

devicereplacement在 SQL 中得到了下表,其中包含 3 列:

id, new_device_id, old_device_id

还有一张device桌子idmac_address等等

我有以下查询:

select dd.mac_address
from devicereplacement as ddr
inner join devices_device dd on ddr.new_device_id = dd.id
where dd.mac_address = '58155',

我在哪里获得新的设备属性。现在,我希望选择相关的旧设备属性,而不是新设备属性。我认为这应该用子查询来完成,但我无法修复它,因为我做了那些 SQL 查询已经有一段时间了。

我想要什么:旧设备的mac地址,新设备的mac_address == x

标签: sql

解决方案


将另一个联接添加到同一个设备表

select ddo.mac_address
from devicereplacement as ddr
inner join devices_device ddn on ddr.new_device_id = ddn.id
inner join devices_device ddo on ddr.old_device_id = ddo.id
where ddn.mac_address = '58155';

推荐阅读