我正在为我的SCCM集合创建一个SQL查询,但我发现存在错误。它没有告诉我错误是什么,规则对我来说没问题。
Select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client, SMS_R_User.UniqueUserName
FROM SMS_R_System
JOIN SMS_UserMachineRelationship ON SMS_R_System.Name=SMS_UserMachineRelationship.MachineResourceName
JOIN SMS_R_User ON SMS_UserMachineRelationship.UniqueUserName=SMS_R_User.UniqueUserName
Where SMS_R_User.UniqueUserName in (select UniqueUserName from SMS_R_User where UserGroupName = "Domain\\GroupName")
答案 0 :(得分:1)
假设你没有拼错任何列名,我唯一可以看到会引发错误的是"Domain\\GroupName"
可能是'Domain\\GroupName'
?双引号通常用作对象的带引号标识符,而单引号表示字符串文字。
使用双引号可能会出现如下错误:
Msg 207,Level 16,State 1,Line ??列名无效 '域\组名'。
此外,where子句中的子查询看起来不必要,此查询应该是等效的(如果我没有误读它):
SELECT
S.ResourceID,
S.ResourceType,
S.Name,
S.SMSUniqueIdentifier,
S.ResourceDomainORWorkgroup,
S.Client,
U.UniqueUserName
FROM SMS_R_System S
JOIN SMS_UserMachineRelationship UMR ON S.Name = UMR.MachineResourceName
JOIN SMS_R_User U ON UMR.UniqueUserName = U.UniqueUserName
WHERE U.UserGroupName = 'Domain\\GroupName'