【发布时间】:2017-06-23 22:58:25
【问题描述】:
![expected result that i want ]1
select
bd.BuildingID ,
bd.[Building Description] ,
fl.Floor ,
rm.Room,
rm.[Room Description],
rm.[Room Type],
asse.AssetName,
cmp.ComponentName
from Buildings bd
join Floors fl
on bd.BLDID = fl.BLDID
join Rooms rm
on fl.FLID = rm.FLID
join Assets asse
join Components cmp
on cmp.AssetID=asse.AssetID;
我正在尝试在 ms sql server 中加入多个表。 我有 5 张桌子:
- 建筑物
- 楼层
- 房间
- 资产
- 组件
我想要来自多个表的记录。
- 我想加入
bd.BLDID = fl.BLDIDbd.BuildingID和bd.[Building Description]和他们都有共同的BLID。 - 我想加入
fl.FLID = rm.FLIDrm.Room、rm.[Room Description]和rm.[Room_Type] - 我想加入资产和组件以及我想要
asse.AssetName和cmp.ComponentName(两个表都有一个共同的AssetID)
由于最后两行,我知道上面的查询不起作用。
谁能建议如何完成这个连接?
【问题讨论】:
-
你能edit你的问题并添加示例数据和预期结果吗?
-
资产可以在哪个字段上连接到其他表之一?它有 ROOMID 或类似的东西吗?在这种情况下,您应该在“join Assets asse”之后添加。
-
@Bartez 资产可以使用 AssetID 与其他表(组件)连接,因为它们都有共同的这个字段。
标签: sql sql-server database join