SQL查询错误

尝试在一组networking服务器上执行查询,但得到一个奇怪的语法错误。 顶部查询将成功运行,但只要添加/删除程序添加,“多部分标识符”SYS.ResourceID“无法绑定”。 最后,我希望能够查询一组计算机并查看每个添加/删除程序列表。

工作代码拉服务器types,服务包等:

 SELECT DISTINCT SYS.Name,OPSYS.Caption0,OPSYS.CSDVersion0,OPSYS.InstallDate0,OPSYS.LastBootUpTime0
 FROM v_FullCollectionMembership SYS
在SYS.ResourceID = OPSYS.ResourceID上joinv_GS_OPERATING_SYSTEM OPSYS
 WHERE SYS.CollectionID = @CollID
 ORDER BY SYS.Name,OPSYS.Caption0

不工作:

  SELECT DISTINCT SYS.Name,OPSYS.Caption0,OPSYS.CSDVersion0,OPSYS.InstallDate0,OPSYS.LastBootUpTime0,ARP.DisplayName0,ARP.Version0
 FROM v_FullCollectionMembership SYS,v_Add_Remove_Programs ARP
在SYS.ResourceID = OPSYS.ResourceID上joinv_GS_OPERATING_SYSTEM OPSYS
 WHERE SYS.CollectionID = @CollID
 ORDER BY SYS.Name,OPSYS.Caption0 

SMS 2003,呃?

我没有看到你joinv_Add_Remove_Programs(如ARP)表的位置。 你将不得不在连接中命名。

完全closures袖口,这应该工作(但可能不会… 微笑我没有这个模式坐在查询):

SELECT DISTINCT SYS.Name, OPSYS.Caption0, OPSYS.CSDVersion0, OPSYS.InstallDate0,OPSYS.LastBootUpTime0, ARP.DisplayName0, ARP.Version0 FROM v_FullCollectionMembership SYS INNER JOIN v_GS_OPERATING_SYSTEM OPSYS on SYS.ResourceID = OPSYS.ResourceID INNER JOIN v_Add_Remove_Programs ARP on SYS.ResourceID = ARP.ResourceID WHERE SYS.CollectionID = @CollID ORDER BY SYS.Name,OPSYS.Caption0