Windows

SQL 查詢錯誤

  • June 2, 2009

嘗試在一組網路伺服器上執行查詢,但出現奇怪的語法錯誤。頂部查詢將成功執行,但一旦添加了 Add/Remove Progs,“無法綁定多部分標識符“SYS.ResourceID”。” 最後,我希望能夠查詢一組電腦並查看每台電腦的添加/刪除程序列表。

拉取伺服器類型、服務包等的工作程式碼:

選擇 DISTINCT SYS.Name、OPSYS.Caption0、OPSYS.CSDVersion0、OPSYS.InstallDate0、OPSYS.LastBootUpTime0
FROM v_FullCollectionMembership SYS
在 SYS.ResourceID=OPSYS.ResourceID 上加入 v_GS_OPERATING_SYSTEM OPSYS
WHERE SYS.CollectionID = @CollID
按 SYS.Name、OPSYS.Caption0 排序

不工作:

選擇 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 上加入 v_GS_OPERATING_SYSTEM OPSYS
WHERE SYS.CollectionID = @CollID
按 SYS.Name、OPSYS.Caption0 排序

簡訊 2003,嗯?

我看不到您在哪裡加入 v_Add_Remove_Programs(作為 ARP)表。您將不得不在連接中命名它。

完全脫離袖口,這應該可以工作(但可能不會……微笑 我沒有這個模式坐在那裡進行查詢):

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

引用自:https://serverfault.com/questions/18083