我正在尝试创建一个报告,但我的查询似乎导致了问题,即使它在Rapid SQL 8.5上运行正常。具体的错误消息如下:
无法更新查询的字段列表。确认您可以连接 到数据源并且您的查询语法是正确的。列名称'MMTEST%'无效。
要继续而不更新字段列表,请单击“确定”
我的查询如下:
select count(*), No.mm_territorynumber as NO,usr.domainname, usr.systemuserid, usr.fullname, usr.mm_PrimaryTeamIdName as PrimaryTeamName
from systemuser usr WITH (nolock)
inner join dbo.teammembership mem with (nolock) on mem.systemuserid = usr.systemuserid
inner join dbo.team team with (nolock) on team.teamid = mem.teamid and mm_teamcategorycode is not null
inner join BusinessUnit bu WITH (nolock) on usr.BusinessUnitId = bu.BusinessUnitId
inner join BusinessUnit NO WITH (nolock) on NO.BusinessUnitId = bu.mm_GUID
where usr.systemuserid in (
select usr.systemuserid from systemuser usr WITH (nolock)
inner join dbo.teammembership mem with (nolock) on mem.systemuserid = usr.systemuserid
inner join dbo.team team with (nolock) on team.teamid = mem.teamid
and mm_teamcategorycode = '930750004'
where usr.isdisabled = 0
intersect
select usr.systemuserid from systemuser usr WITH (nolock)
inner join dbo.teammembership mem with (nolock) on mem.systemuserid = usr.systemuserid
inner join dbo.team team with (nolock) on team.teamid = mem.teamid
and mm_teamcategorycode = '930750000'
where usr.isdisabled = 0
) and
"MMTEST%" not in (select usr.domainname from systemuser usr) and
--usr.domainname not like "MMTEST%" and
usr.systemuserid = team.AdministratorId -- Only team adminstrators
group by No.mm_territorynumber, usr.domainname, usr.systemuserid, usr.fullname, usr.mm_PrimaryTeamIdName
having count(*) = 2
order by NO.mm_territorynumber, usr.fullname;
我已经做过一些研究,以确保我的具体问题尚未得到解答。以下是我访问过的一些链接:
could not create a list of fields for the query
在某处我偶然多次选择了一列吗?在查看我的代码后,它似乎不是这样,但我也是SQL的新手,因此可能存在一些我不理解的控制流问题。任何帮助将不胜感激。
编辑:似乎MMTEST%已经创建为一个列,但我不知道为什么会这样。
答案 0 :(得分:1)
使用单引号而不是双引号来过滤掉值中的特定单词。