【发布时间】:2014-10-10 17:38:03
【问题描述】:
我需要加入至少 4 张桌子。表 A 是一个关联表,其中包含表 B 和 C 的 guid、Parentguid (B)、Childguid (C)。表 D 仅包含表 C 的信息。
我需要这样的结果。
B - C - D
监视器 - 计算机名称 - 活动
所以主要是显示所有的B表,只有连接到B的C表,只有与C关联的D表。
我怀疑我需要子连接 ( )。我仍然是一个新手,这在我的脑海中是有道理的,但我似乎无法使代码工作。过去 2 天我一直在玩 join。
FROM vHWDesktopMonitor mon -- [Symantec_CMDB2].[dbo].[ResourceAssociation]
join ResourceAssociation RM on mon._ResourceGuid = RM.ParentResourceGuid
full outer join vComputer comp on RM.ChildResourceGuid = comp.Guid
full outer join vAsset on RM.ChildResourceGuid = vAsset._ResourceGuid
【问题讨论】:
-
如果您想要表 A 中的所有数据和表 A 中的表 b 中的数据,表 B 中的表 c 中的数据以及表 C 中表 D 中的数据,那么你想使用左连接。我发现blog.codinghorror.com/a-visual-explanation-of-sql-joins 对于新的 SQL 用户特别有用,因为 SQL 是基于集合的逻辑,主要是...
-
对我来说,你必须使用 3 个内部连接 mon JOIN RM JOIN comp JOIN vAsset
标签: sql sql-server-2008 join altiris